Mediator
オブジェクトの振る舞いに関するパターン
調停者
クラスが複雑に絡み合う場合、
それらクラスを統括するクラスを作成し、簡易化させるたとえばA、B、Cクラスがあり、
AからBが呼ばれ、BからCが呼ばれ、AからもCが呼ばれる。
BからもAが呼ばれる・・・・・・となった場合、あまりに複雑になってしまう。
これを回避するためにMediatorクラスを作成し、
クラスA〜Cを統括させる。
MediatorクラスをMとする。MからAが呼ばれ、MからBが呼ばれ、MからCが呼ばれる。
AからB、Cが呼ばれることはないし、
BからA、Cが呼ばれることもない。シンプルな作りに出来る。
AからBを呼ばなければならない場合は、
A、Bに対し他のデザインパターンを採用するか、
インターフェース経由で限定した機能のみを提供すれば良い。