私のクラスには3つの状態があります。各状態では、何らかの仕事をして、他の州に行くか、または同じ州に留まります(95%以上のケースでは、同じ州にとどまります)。私は状態パターンを実装することができます(私はあなたがそれを知っていると仮定します)。「状態パターン」と「状態ごとに1つのメンバ関数」を比較しますか?
私は、状態毎のメンバ関数と、現在の状態関数を指すメンバ関数へのポインタも持っています。私が別の状態に行きたい状態になったら、その関数ポインタを別の状態関数にポイントするだけです。 (これは状態パターンと完全には同じではないかもしれませんが、私の場合はうまくいきます)。
これらの2つの方法はほぼ同じですと思います。
だから、私の質問は以下のとおりです。
- ソリューションが優れている(ものに依存しますか)?
- 州ごとにクラスを宣言することは価値がありますか(関数は1つだけです)?私は人工的だと思う。
- パフォーマンスについてはどうですか?状態クラスの新しいオブジェクトを作成していません(状態パターンの場合)。あなたがオブジェクトかどうかのプライベートメンバにアクセスする必要がある場合、それが依存
あなたのコードが動作している場合は、コードレビューは、おそらくそれのための適切な場所である。 –
私の質問があります私のコードには接続されていません。 – user1289
閲覧/投稿を検討するプログラマーボード –