私はPrismのガイダンスを読み進め、彼らのコミュニケーション手段のほとんどを把握できたと思います。
コマンドは非常に単純なので、DelegateCommandは、ビューをそのモデルに接続するためだけに使用されることは明らかです。
クロスモジュール通信に関しては、特に複合コマンドでEventAggregationを使用する場合は、やや明確ではありません。
実用的な効果は同じです例えば
- イベントを公開する->すべてのサブスクライバーが通知を受け取り、それに応じてコードを実行する
- 複合コマンドを実行します->登録されているすべてのコマンドが実行され、それに付随するコードが実行されます
どちらも「ファイアアンドフォーゲット」の方針に沿って機能します。つまり、イベントの発生/コマンドの実行後、サブスクライバーからの応答を気にしません。
両方の実装(内部)は非常に異なることは理解していますが、実際の使用法の違いを理解するのに苦労しています。
それで、それが実際に何を意味するのかを考える必要があります-イベント?それは何かが起こったとき(イベントが起こったとき)ですか?「Webリクエストが完了しました」のように、ユーザーが直接リクエストしなかったものはありますか?
そしてコマンド?これは、ユーザーが何かをクリックしてアプリケーションにコマンドを発行し、サービスを直接要求したことを意味しますか?
それですか?または、これらの通信手段の1つを他の通信手段よりも使用するタイミングを決定する他の方法はありますか。ガイダンスは、私が読んだ最高のドキュメントの1つですが、具体的な説明はありません。
ですから、Prismに関係している/使用している人々が、これに光を当てるのに役立つことを願っています。