関連するビュー間でデータを共有するための適切なパターンは何ですか?.
1 つのフォームに多くの小さなビューが含まれるアプリケーションがあり、各ビューは多かれ少なかれ互いに独立して動作します (イベント バスを介して通信/対話します)。時々、同じオブジェクトを子ビューに渡す必要があります。この同じオブジェクトを子ビューに渡す必要があり、子がそれを別の子自体に渡すことがあります。
親フォーム (ビュー) 内に含まれるすべてのビュー間でこのデータを共有するための適切な方法は何ですか?
私は CAB とそのアプローチを調べましたが、すべての「ビュー」には「ルート作業項目」があり、この作業項目には、含まれるビュー間の共有「状態」を含む辞書があります。
これは最善のアプローチですか?ルートビューの下のすべてのビューがアクセスできる共有辞書だけですか?
現在の私の現在のアプローチは、ビューにオブジェクトを設定できる関数をビューに持たせることです。何かのようなもの
view.SetCustomer(Customer c);
次に、ビューに子ビューが含まれている場合、それを子ビュー ala に設定することがわかっています。
this.childview1.SetCustomer(c);
アプリケーションは、IoC/DI プロバイダーとして構造マップを使用する MVP を使用する winforms 用に、C# 3.5 で記述されています。