Design Pattern | Mediator Pattern(メディエーターパターン)

Mediatorパターンとは?

  • Mediatorという英単語は仲介者という意味である。
  • メンバーが10人いるとき、互いに指示し合っていると作業は大きく混乱する。そのようなとき、立場の異なる仲介者がいれば、メンバーは仲介者にだけ報告し、メンバーへの指示も仲介者からだけ受けるようにできる。
  • Mediatorパターンは、仲介者を通じて行動を起こさせる方式である。
  • GoFのデザインパターンでは、振る舞いに関するデザインパターンに分類される。

Mediatorパターンのサンプルプログラム

ログインダイアログを表示し、テキストやボタンの有効/無効状態を制御するプログラムである。

Class Diagram
Mediator Pattern Class Diagram

例では、Mediatorインターフェース、同僚となるコントロール、具体的なUIウィジェット、そしてそれらを調整する具象Mediatorを定義する。ウィジェット同士が直接制御し合うのではなく、状態が変わるとMediatorへ通知し、Mediatorが全体のUI状態を判断する。

メリット

Mediatorパターンは、オブジェクト間の複雑な多対多関係を減らす。各同僚はMediatorだけを知ればよいため、相互作用のルールを集中管理しやすく、変更しやすい。