見出し画像

📈Mediatorパターンは仲介業者 疎結合(ルーズカップリングloose coupling) Observerパターンとの違い サービス志向アーキテクチャSOAから

Mediator パターンを用いると、オブジェクト間の通信は mediator によってカプセル化され、オブジェクト同士で直接通信せず、mediator を介して行うようになる。

Mediator パターン

これにより通信するオブジェクト同士の依存関係を低減し、結合の度合いを下げることができる。

サービス指向アーキテクチャservice-oriented architecture (SOA)と疎結合

疎結合は11の奥義としてSOAの本で解説がある。こんなものだ

1.仲介者(Mediator )を介した物理的な接続。
2.非同期コミュニケーションスタイル。
3.データモデルのみのシンプルな共通型
4.弱いタイプのシステム。
5.データ中心で自己完結型のメッセージ
6.プロセスロジックの分散制御
7.動的バインディング
8.プラットフォームの独立性。
9.システムレベルの取引ではなく、ビジネスレベルの報酬
10.時期をずらして展開。
11.バージョニングでの暗黙のアップグレード

結合度は処理の一貫性の度合い

Observer(観察後一斉通知)とMediator(通信して促す)の違い

サンプルはチャットルームになっていてる。チャットルーム自体がMediatorで、同僚と個別に通信する方法とブロードキャストする方法を提供する。
ヨーコがジョンにI loveyouというが、destination(to)が入っていないので全員にブロードキャストしてしまう。ジョンはそれに気づいてヨーコに個別にブロードキャストになってますよとメッセするのだけどポールが聞いちまったぞといってみんなにまたブロードキャストする。どうしたもんかとリンゴがポールに話しかける、とか、この話ちょっと古くないか。

https://amzn.to/3lTepN3

Facadeとの違い Facadeは一方向、Mediatorは双方向

Facadeオブジェクトはサブシステムクラスに対して要求を出すが、その逆はない。一方、Mediatorは、colleagueオブジェクトが提供しない、あるいは提供できない協調動作を可能にし、そのプロトコルは双方向です。

https://amzn.to/3okBiw4


お願い致します