それぞれ独自のビューを持つ2つのビューモデルがあります。
最初のビューモデルには、ビューによって表示される3つのプロパティがあります。
PolicyProvider
PolicyType
PolicyNumber
2番目のビューモデルには、そのビューによって表示されるプロパティが1つだけあります。
TypeOfInvestmentFund
との間には1対多の関係がPolicyType
ありますTypeOfInvestmentFund.
これらのビューモデルとそのビューは両方とも、親フォーム内のユーザーコントロールとして表示されています。
に使用できる選択肢は、他のビューでTypeOfInvestmentFund
どちらPolicyType
が選択されているかによって異なります。
私には、これら2つのビューモデルを組み合わせることができるように感じます。
a)それらは明らかにいくらか結合されています
b)コントロールは非常に小さくて単純なので、それらを結合しても複雑で管理しにくいオブジェクトは作成されません。
ただし、このデータはかなり無関係です。十分に無関係であるため、ユーザーはフォームの個別の部分にデータを表示する必要があります(したがって、個別のビューに配置されます)。
個人的には、これら2つのビューモデルを組み合わせ、2つの別々のビューを接続して異なる部分を表示する方が、2つのオブジェクト間の通信を管理するよりもはるかにオーバーヘッドが少ないと感じています。
ただし、Prism Event Aggregatorを使用して緩く結合されたイベントを作成することはできます。これを行ったことがない場合でも、管理するのはおそらくそれほど多くありません。これら2つのビューモデルを分離しておくと、関心の分離が維持されます。さらに、開発の後半でこの情報を必要とする他のコントロールが表示された場合、それらを吸収し続けることはできません。したがって、この段階でイベントアグリゲーターを開始すると、イベントが既にサブスクライブできるため、やり直しができなくなります。ビューモデルを組み合わせるだけでは、まだまだ手間がかかります。
これらの2つのうちどちらが「より正しい」ですか?判断の呼びかけは理解できますが、決められないので、決心するための意見を探しています。