私は4つのボタンがあり、私はそれぞれが異なることをしたいと言います。私は、ボタンが押されたことに基づいて別のことをする大きなスイッチのステートメントを望んでいないし、ボタンのクリックごとに別々のメソッドを必要としたくない。コマンドパターンはこれを解決する良い方法ですか?コマンドパターンを使用してメニューの複雑さを減らすにはどうすればよいですか?
2
A
答えて
5
はい、コマンドパターンの一般的な用途です。それぞれがexecute()メソッドを提供する一連のクラス(例えば、Open、Save、Print)を持っているとしたら、これらのクラスのインスタンスをボタンに関連付けることができ、ボタンのonclickイベントはexecute )関連するコマンドが何をするのかについての詳細を知らなくても。
Wikipedia articleは、コマンドパターンの他の一般的な用途を示しています。
0
はい。私は、メニューのクリックとツールバーのクリックと同じアクションで結びつけるのを助けてきました。それはかなりうまくいく。それは何にも革命を起こすものではありませんが、より洗練されたコードを提供し、厄介なswitch文を取り除きます。
私はあなたにいくつかの例を与えるために掘り下げようとするコードをどこかに持っています。
関連する問題
- 1. ストアドプロシージャの重複を減らすにはどうすればよいですか?
- 2. どのようにPythonの時間の複雑さを減らすには?
- 3. どのように次のコードの複雑さを減らすには?
- 4. このコードの時間複雑さをどのように減らすか
- 5. DOMを使用して複雑なXMLファイルを解析するにはどうすればよいですか?
- 6. このコードで使用される変数を減らすにはどうすればよいですか?
- 7. SonarQubeはどのような複雑さを使用していますか?
- 8. angularjsを使用して冗長コードを減らすにはどうすればよいですか?
- 9. nginx serving webmを使用してContent-Rangeヘッダーを減らすにはどうすればよいですか?
- 10. メソッドの複雑さを減らす
- 11. IPythonノートブックの使用中に複雑さを管理するにはどうすればいいですか?
- 12. データ型に応じてコールバックするこの関数の複雑さを減らすにはどうすればよいですか?
- 13. MVCの複雑なドロップダウンリストから選択した値を返すにはどうすればよいですか?
- 14. ダイアログのパディングを減らすにはどうすればよいですか?
- 15. ComboBoxのDropDownHeightを減らすにはどうすればよいですか?
- 16. スタックトレースの出力を減らすにはどうすればよいですか?
- 17. Excel 2003 VBAで複雑な関数を使用するにはどうすればよいですか?
- 18. RxJavaを使用してボタンのタップによって生成されるイベントの割合を減らすにはどうすればよいですか?
- 19. 列を2つに減らすにはどうすればよいですか?
- 20. デスクトップアプリケーションでの休止状態のメモリ使用量を減らすにはどうすればよいですか?
- 21. スレッドの無限ループ中にプロセッサの使用量を減らすにはどうすればよいですか?
- 22. wp_nav_menu()を使用してWordpressのhtmlメニューをカスタマイズするにはどうすればよいですか?
- 23. Rubyを使用してGUIでメニューをテストするにはどうすればよいですか?
- 24. JavaScriptを使用してメニューを非表示にするにはどうすればよいですか?
- 25. reduxを使用して、複雑なページのコンポーネント状態を再計算しないようにするにはどうすればよいですか?
- 26. .hprofファイルからヒープデータを分析してメモリリークを減らすにはどうすればよいですか?
- 27. 変数を5%減らすにはどうすればよいですか?
- 28. このケースの複雑さをどのように減らすことができますか?
- 29. APKを使用してAndroid STKメニューにアクセスするにはどうすればよいですか?
- 30. Android仮想デバイスのRAM使用量を減らすにはどうすればよいですか?
しかし、ボタン内での関連付けを最適にするには(たとえば、ICommandへの参照を保持する特別な「CommandButton」クラスを持っている、または何らかのルックアップでクラス外にある? – Iain