1

私はイタリア人なので、言葉が悪いのでごめんなさい。

私はMVVMベースのアプリケーションに取り組んでいます。私のソリューションには、単一のWPFアプリケーションプロジェクトMs、Vs、およびVMが含まれています。ビューとViewModelの間のメディエーターとして、Applicationクラスのプロパティとして作成されたRegisterメソッドとNotifyColleaguesメソッドを持つMessengerクラスを使用します。

これまではすべて問題なく機能し、M、V、VMを異なるライブラリに分割することにしました。このシナリオでは、Messengerクラスを実行可能ファイルのApplicationクラスに入れることができなくなります。これは、ライブラリがMessengerクラスに接続できないためです。

だから私は何をすべきですか?私の場合により適した別のメディエーターパターンがありますか、それとも何かが足りませんか?

ありがとう=)

4

1 に答える 1

0

ビューとビューモデルを操作する場合、特定のパターンの実装を作成する必要はありません。その相互作用は、フレームワーク バインディング機能、ViewModel への View バインディングを活用する必要があります。適切にアプローチすれば、カップリングを回避できます。

さらに切り離すために、実行時に ViewModel を View に挿入する場合。確かにそれを行うことができ、 Unityなどの DI フレームワークを活用する必要があります。

クロスモジュール通信が表面化するとき。Prismが実装を提供するEvent Aggregatorパターンを使用できます。

于 2011-06-27T15:51:33.503 に答える