1. ホーム
  2. oop

[解決済み] Mediator Vs Observer オブジェクト指向デザインパターン

2022-11-15 04:16:31

質問

私は ギャング・オブ・フォー のようなもので、私の問題を解決するために メディエーター パターンに行き着きました。

以前、私は オブザーバ を使用していました。私は2つの間に大きな違いを見つけることができないので、私は少し混乱しています。私は違いを見つけるためにブラウズしましたが、私のクエリのための任意の適切な答えを見つけることができませんでした。

どなたか、この 2 つを明確に区別する良い例で、この 2 つを区別するのを助けていただけないでしょうか。

どのように解決するのですか?

Observerパターンです。 オブジェクト間の一対多の依存関係を定義し、あるオブジェクトが状態を変更すると、その依存するすべてのオブジェクトが通知され、自動的に更新されるようにする。

Mediatorパターン。 オブジェクトの集合がどのように相互作用するかをカプセル化したオブジェクトを定義する。Mediatorは、オブジェクトが明示的にお互いを参照しないようにすることで疎結合を促進し、その相互作用を独立して変化させることができます。

出典 ドファクトリー

オブザーバのパターンです。 クラスAは、O型のオブザーバを0個以上登録することができます。Aの何かが変更されると、それはすべてのオブザーバに通知されます。

Mediatorパターン。 XのインスタンスはMのインスタンスを共有することで、他のXのインスタンス(またはX、Y、Zのインスタンス)と通信することができます。