コマンドパターンを使用してメニューの複雑さを減らすにはどうすればよいですか?
-
13-09-2019 - |
質問
私は4つのボタンを持っていて、それぞれが別のことをしてもらいたいとします。どのボタンが押されたかに基づいて別のことをする大きなスイッチステートメントは必要ありません。また、各ボタンクリックに個別のメソッドが必要です。コマンドパターンはこれを解決する良い方法ですか?
解決
はい、それはコマンドパターンの一般的な用途です。それぞれがexecute()メソッドを提供するクラスのセット(オープン、保存、印刷など)があると想像してください。これらのクラスのいずれかのインスタンスをボタンに関連付けることができ、ボタンのオンクリックイベントがexecuteを呼び出すことができます( )関連するコマンドが何をするかの詳細を知らずに。
ウィキペディアの記事 コマンドパターンの他の一般的な使用を提供します。
他のヒント
はい。同じアクションをメニュークリックとツールバーのクリックに結び付けるのを手伝っていました。それはかなりうまく機能します。決して何も革命を起こすことはありませんが、クリーンなコードを大幅に提供し、厄介なスイッチステートメントを取り除きます。
私はあなたにいくつかの例を与えるために掘り下げようとする場所のどこかにコードを持っています。
所属していません StackOverflow