1

コンテナパネルがあります。コンテナには他にn個のパネルがあります。ユーザーは、任意のパネルの情報を変更できます。パネルが変更されたら、他のすべてのコンテナーを更新して、それらが提示する情報を更新する必要があります。

通常の状況では、オブザーバーパターンには単一の主題と多数のオブザーバーがあります。この場合、オブザーバーも対象です。

これはデザインパターンが対処できるものですか?これらのオブジェクト間の相互作用を適切なOOPスタイルで構築するにはどうすればよいですか?

4

4 に答える 4

3

ここではhttp://en.wikipedia.org/wiki/Mediator_patternが役立つ場合があります。

于 2012-05-10T22:22:46.340 に答える
1

オブザーバーパターンよりもpub/subパターンのように聞こえます。

  • パネルA、B、およびCはトピックXをサブスクライブします。
  • パネルBは、手作業で処理されたトピックXを受信すると、トピックZを生成します。
于 2012-05-11T05:35:56.030 に答える
0

多対多にするだけで、オブザーバーパターンのアイデアを微調整できます。唯一の違いは、オブザーバーは、どのサブジェクトが状態を変更したかではなく、どのサブジェクトが状態を変更したかを知る必要があることです。

于 2012-05-10T19:18:59.330 に答える
0

コンテナクラスインスタンスC1とオブザーバークラスインスタンスob1、ob2、ob3があり、すべてサブジェクトクラスインスタンスs1を監視しているとします。ob1でイベントが発生すると、クラスS1でイベントをトリガーし、S1のイベントハンドラー関数がオブザーバーob1、ob2、ob3に通知されないようにすることができます。

お役に立てれば。もしそうなら私に知らせてください:)

ありがとう!

于 2012-05-11T08:54:08.873 に答える