次のシナリオに対する(アーキテクチャの品質の観点から)最良のアプローチは何を提案しますか?
ModelViewA(親)-データを表示するにはModelViewBからのコレクションが必要です-コレクションが変更されていない場合でも、コレクションに複数回アクセスします
ModelViewB(子)-アイテムのコレクションを保持します。コレクションは概念的にModelViewBに属し、主にこの(モデル)ビュー内で変更されます。ただし、ModelViewAはコレクションを変更することもできます
私が採用している現在のアプローチは、ModelViewBにコレクションを作成し、ModelViewAに複製を作成することです。メッセージングバス(MMVM Lightツールキット)を使用して、ModelViewsに変更を相互に通知させます。ただし、重複したコレクションを保持して同期しているため、これは厄介な感じがします。むしろ、1つの場所にのみ配置し、ModelViewAとBの両方からアクセスしたいと思います。おそらく1つのModelViewを別の場所に注入することを考えていましたが、結合が増加し、MVVMパターンでは一般的に間違っていると感じます。参照を保持する静的ロケーター(これもMVVM Lightツールキットから)があるので、両方のModelViewへの静的参照を使用することもできます。それとももっと良い解決策がありますか?
ありがとう、
O