Mediator は、 振る舞いに関するデザインパターンの一つで、 プログラムのコンポーネント間の通信を特別なメディエーター・オブジェクトを通して行うことで、 結合を疎にします。
Mediator により、 個々のコンポーネントは、 何十ものクラスへの依存がなくなるため、 変更、 拡張、 再利用が容易になります。
複雑度:
人気度:
使用例: Java コードで Mediator パターンが最もよく使われるのは、 アプリの GUI コンポーネント間の通信のやりとりです。 Mediator は、 MVC パターンの C の部分、 Controller と同義語です。
Java のコア・ライブラリーでのこのパターンの使用例です:
ノート・アプリ
この例では、 メディエーターを用いて、 多数の GUI 要素を、 互いに依存することなく、 協力して動作できるよう、 どう組織化できるかを示します。
components: 同僚のクラス
components/Component.java
components/AddButton.java
components/DeleteButton.java
components/Filter.java
components/List.java
components/SaveButton.java
components/TextBox.java
components/Title.java
mediator
mediator/Mediator.java: 共通メディエーター・インターフェースを定義する
mediator/Editor.java: 具象メディエーター
mediator/Note.java: ノートのクラス
Demo.java: 初期化コード
OutputDemo.png: 実行結果