![見出し画像](https://assets.st-note.com/production/uploads/images/83283382/rectangle_large_type_2_5f49d4afd9087cdeb586f2227ecf0b86.png?width=800)
Photo by
featurecompass
📈Mediatorパターンは仲介業者 疎結合(ルーズカップリングloose coupling) Observerパターンとの違い サービス志向アーキテクチャSOAから
Mediator パターンを用いると、オブジェクト間の通信は mediator によってカプセル化され、オブジェクト同士で直接通信せず、mediator を介して行うようになる。
![](https://assets.st-note.com/img/1658406845148-bp0LbQEgES.png?width=800)
これにより通信するオブジェクト同士の依存関係を低減し、結合の度合いを下げることができる。
サービス指向アーキテクチャservice-oriented architecture (SOA)と疎結合
疎結合は11の奥義としてSOAの本で解説がある。こんなものだ
1.仲介者(Mediator )を介した物理的な接続。
2.非同期コミュニケーションスタイル。
3.データモデルのみのシンプルな共通型
4.弱いタイプのシステム。
5.データ中心で自己完結型のメッセージ
6.プロセスロジックの分散制御
7.動的バインディング
8.プラットフォームの独立性。
9.システムレベルの取引ではなく、ビジネスレベルの報酬
10.時期をずらして展開。
11.バージョニングでの暗黙のアップグレード
結合度は処理の一貫性の度合い
Observer(観察後一斉通知)とMediator(通信して促す)の違い
![](https://assets.st-note.com/img/1658647498939-zKnJoSLp6U.png?width=800)
サンプルはチャットルームになっていてる。チャットルーム自体がMediatorで、同僚と個別に通信する方法とブロードキャストする方法を提供する。
ヨーコがジョンにI loveyouというが、destination(to)が入っていないので全員にブロードキャストしてしまう。ジョンはそれに気づいてヨーコに個別にブロードキャストになってますよとメッセするのだけどポールが聞いちまったぞといってみんなにまたブロードキャストする。どうしたもんかとリンゴがポールに話しかける、とか、この話ちょっと古くないか。
Facadeとの違い Facadeは一方向、Mediatorは双方向
Facadeオブジェクトはサブシステムクラスに対して要求を出すが、その逆はない。一方、Mediatorは、colleagueオブジェクトが提供しない、あるいは提供できない協調動作を可能にし、そのプロトコルは双方向です。
お願い致します