C++/CLIを使用して状態設計パターンを実装しようとしています。このパターンでは、Stateクラスがコンテキストのフレンドである必要があります。しかし、C++/CLIはフレンドクラスを許可していません。私はこれもC#の場合であることを理解しています。誰もC++/CLIやC#で状態パターンを実装していますか?私はあなたが友人のクラスの不在の周りにいかにあったか知りたいと思います。C++/CLIまたはC#を使用した状態設計パターンの実装
0
A
答えて
0
0
StateクラスをContextクラスのフレンドにすることは、ステートパターンを実装するためにの要件ではありません。 Wikipediaにはフレンド修飾子を使用せずにimplementationがあります。
0
状態をサブクラスに保持し、状態が変化したときにサブクラスオブジェクトを異なる継承型に置き換えることができます。
class YourClass
{
private MyEnum _myStateEnum; // Wrap this with a public property
private MyInnerClass _myStateLogic; // Change this with appropriate type when above changes
public void AnExampleMethod()
{
_myStateLogic.AnExampleMethod();
}
internal abstract class MyInnerClass
{
public virtual abstract void AnExampleMethod();
}
internal class MyOtherInnerClass1: MyInnerClass
{
public override void AnExampleMethod() { }
}
internal class MyOtherInnerClass2: MyInnerClass
{
public override void AnExampleMethod() { }
}
}
関連する問題
- 1. 状態設計パターンを使用した再設計 - 疑問
- 2. Liskovに準拠した状態設計パターン
- 3. C++の実装状態
- 4. 状態パターンC++
- 5. サーキットブレーカ設計パターン実装アドバイス
- 6. javaを使用して状態マシンを実装するための標準パターンはありますか?
- 7. オンラインライブラリー/ショップ設計実装の選択のための休止状態継承
- 8. CQRSとイベントソーシングを使用した状態パターン
- 9. NHibernateとFluentMappingを使用した状態パターン
- 10. Firebase(AngularFire)を使用したユーザーとフレンズの設計と実装
- 11. Cで工場設計パターンを実装する方法
- 12. 状態分割、MongoDB、Memcached、または...を使用したASP.NET MVCセッション状態?
- 13. 休止状態での実行中の合計を使用したクエリ
- 14. 文字列解析のための状態パターンの使用
- 15. 状態パターンを実装するときの状態遷移へのキーバインディングの適用
- 16. Cリンクリストを使用した実装の設定メモリリーク
- 17. iPhoneアプリケーションの状態パターン(メモリ使用量)
- 18. C++の設計パターン:
- 19. Redux状態の設計
- 20. MVPパターンを使用したアンドロイドのFacebookログイン実装
- 21. 状態パターンの使い方は?
- 22. SAXの状態パターン
- 23. JavaFx2.0のゲームフレームで使用するシンプルな状態マシンの実装
- 24. 状態を持つ指定されたArticleクラスの設計システム
- 25. Cのビルダー設計パターン
- 26. 角度材料設計を使用したテーブル状のレイアウト
- 27. ORMパッケージはFacadeパターンまたはAdapterパターンを実装していますか?
- 28. C++/CLIイベントを使用した空のC++実装へのフック
- 29. "一般化された"有限状態マシンの実装
- 30. スカラ:私は状態を管理して、私が持っているクラスのための戦略パターンを実装しようとしてるの戦略パターン
C#には、同じアセンブリからのコードに対してのみアクセス可能な「内部」可視性があります。 – CodesInChaos