0

アプリケーションには、A、B、C の 3 つの主要なビューがあります。これらのビューにはそれぞれ、X というビューが含まれています。X ビューのボタンをクリックすると、FooEvent がイベント プールにディスパッチされます。

複数のコマンドを FooEvent にマップし、現在表示されているメイン ビュー (A、B、または C) に応じて、そのうちの 1 つを実行したいと考えています。FooEvent にマップされたすべてのコマンドに if 句を追加して、正しいビューが表示されているかどうかを確認する必要がありますが、これは気に入りません。コマンド間でロジックを分散すると、管理が難しくなります。

アプリケーションのコンテキストで条件付きでコマンドを呼び出す最良の方法は何ですか?

4

1 に答える 1

0

X メディエーター内で、FooEvent のリスナーを作成できます。次に、X 親に基づいて、新しいイベントをディスパッチします。

または、A、B、および C 内で FooEvent をリッスンし、それをキャッチすると、A、B、または C メディエーターから特定のコマンドに仲介します。

目標は、ビュー イベントをビュー内に保持し、新しいコミュニケーションをさらに仲介することです。

シグナルを使用することもできます

于 2013-10-25T20:38:55.907 に答える