アプリケーション (WinForms .NET 2.0 アプリ) に複数の MVP トライアドがあり、各トライアドが 1 つの責任領域を担当しているとします。MVP トライアド間の通信を調整するための優先する方法は何ですか?
オプション 1 各モデルを「持ち」、それぞれで必要なイベントをサブスクライブし、どのシナリオでどのモデル メソッドを呼び出すかを決定することで、調整を管理するコーディネーター オブジェクト。
これが「神」クラスかもしれないことを心配してください。
オプション 2 プレゼンターは別のプレゼンターを「持って」おり、モデル内で興味深いことが発生すると、プレゼンターは他のプレゼンターを使用してコミュニケーションを進めます。
プレゼンターがパブリック インターフェイス (Presenter-first アプローチ) を持つべきではないことを心配してください。
スケーラブルなオブジェクト指向の方法でこの問題を解決するために、他の人が何をしたのか疑問に思っています。別の MVP トライアドを追加するとどうなりますか? それを私のコーディネーターに合わせるのはどれほど難しいでしょうか? WinForms アプリで複数の MVP トライアドを管理する方法の良い例がいくつかあるはずです?