コンテナパネルがあります。コンテナには他にn個のパネルがあります。ユーザーは、任意のパネルの情報を変更できます。パネルが変更されたら、他のすべてのコンテナーを更新して、それらが提示する情報を更新する必要があります。
通常の状況では、オブザーバーパターンには単一の主題と多数のオブザーバーがあります。この場合、オブザーバーも対象です。
これはデザインパターンが対処できるものですか?これらのオブジェクト間の相互作用を適切なOOPスタイルで構築するにはどうすればよいですか?
コンテナパネルがあります。コンテナには他にn個のパネルがあります。ユーザーは、任意のパネルの情報を変更できます。パネルが変更されたら、他のすべてのコンテナーを更新して、それらが提示する情報を更新する必要があります。
通常の状況では、オブザーバーパターンには単一の主題と多数のオブザーバーがあります。この場合、オブザーバーも対象です。
これはデザインパターンが対処できるものですか?これらのオブジェクト間の相互作用を適切なOOPスタイルで構築するにはどうすればよいですか?
ここではhttp://en.wikipedia.org/wiki/Mediator_patternが役立つ場合があります。
オブザーバーパターンよりもpub/subパターンのように聞こえます。
多対多にするだけで、オブザーバーパターンのアイデアを微調整できます。唯一の違いは、オブザーバーは、どのサブジェクトが状態を変更したかではなく、どのサブジェクトが状態を変更したかを知る必要があることです。
コンテナクラスインスタンスC1とオブザーバークラスインスタンスob1、ob2、ob3があり、すべてサブジェクトクラスインスタンスs1を監視しているとします。ob1でイベントが発生すると、クラスS1でイベントをトリガーし、S1のイベントハンドラー関数がオブザーバーob1、ob2、ob3に通知されないようにすることができます。
お役に立てれば。もしそうなら私に知らせてください:)
ありがとう!