2009-04-17 9 views
1

私はMVP GUIを持っていますが、特定のビューに対して特定のアクションまたはコマンド(変更、保存、閉じるなど)を定義したいと思います。これはコマンドパターンですか?

これを行う簡単な方法はありますか?各ビューのコマンドを提供する必要がありますか?

+0

MVPはWPFを使用しているようですか?あなたはまだWPFのCommandingアーキテクチャを調べましたか? –

+0

いいえ、WinformsでMVP実装を行っています – Bertvan

答えて

3

最も簡単な方法は、すべてのコマンドオブジェクトがインスタンス化されるファクトリを用意することです。したがって、開いているジョブコマンドがあれば、すべてのビューが工場に行き、Open Job Commandオブジェクトを取り出してインスタンス化して実行します。バグを修正したり、Open Job Commandを変更する必要がある場合は、1つのスポットだけをすべてのビューに対して実行する必要があります。

これは、おそらく各ビューに固有のコマンドがいくつか存在することになります。それにもかかわらず、コマンドオブジェクトを通過するすべてのものでアンドゥ/リドゥを簡単に実装できるので、それらをコマンドオブジェクトにカプセル化したい場合もあります。

関連する問題