1

実装では、ブール変数で表される多くの状態があり、状態がtrueの場合、その状態に対する変数はtrueであり、他の多くまたはすべてがfalseです。これは良い方法ではありません。コーディングする前にソリューションを計画していただけなので、次のようになりました。今、私はそれをきれいにしなければなりません。きれいにするための最良の解決策は何ですか?

私は列挙型について考えていました。各状態に名前を付けます。このようにして、複数の変数の代わりに1つの変数に状態名を含めることができます。ただし、問題は、Point変数またはint変数の1つまたは2つのインスタンスなど、一部の状態に関連する他の情報があり、それらはその状態専用であるということです。列挙型が使用されている場合、それらに対応するにはどうすればよいですか?

このような状況で最もエレガントで適切な解決策は何ですか?

4

1 に答える 1

0

ステートを列挙型にマッピングする代わりに、ステートマシンを実装するためのステートデザインパターンを見てください。各ステートはクラスであり、イベントはステートクラスのメンバー関数です。

于 2011-09-25T10:10:37.147 に答える