Mediatorパターン
Mediatorパターンは、
複数のクラスが相互に同期して機能するクラス群において、
クラス間の相互作用と一つのクラスにまとめるデザインパターンです。
具体的には、
Mediator(仲介者)と呼ばれるクラスに
他のすべてのクラスの状態(情報)を集めて、
その結果からMediatorが他のすべてのクラスに命令を
出すような形にします。
Mediator以外のクラスは、
自分の状態通知関数と命令関数のみを実装し、
Mediatorクラスが、それぞれのクラスの状態に応じて
命令を下すようにすることにより、
複雑な処理をMediatorクラスのみにまとめることができ、
他のクラスの再利用性を高めることができます。
特にGUIアプリケーションのようなソフトウェアの場合
無数のコンポーネントの相互作用で処理が決まるため、
このMediatorパターンを利用して、
相互作用の部分を一つにクラスにまとめることで、
ソフトの可読性とデバックのしやすさを向上させることができます。
また、すべてのクラスは
Mediatorのみとやりとりをするようにすることにより、
新しいクラスを追加するのが楽になるというメリットもあります。
参考資料
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com
myenigma.hatenablog.com