Mediator を Go で
Mediator は、 振る舞いに関するデザインパターンの一つで、 プログラムのコンポーネント間の通信を特別なメディエーター・オブジェクトを通して行うことで、 結合を疎にします。
Mediator により、 個々のコンポーネントは、 何十ものクラスへの依存がなくなるため、 変更、 拡張、 再利用が容易になります。
概念的な例
Mediator パターンの素晴らしい例は、 鉄道駅での交通システムです。 二つの列車同士は決してプラットホームが使えるかどうかについて通信しません。 stationManager
(駅長) がメディエーターの役を果たし、 到着する列車一つにだけプラットホームを使えるようにし、 残りの列車には待ってもらいます。 出発列車は駅に連絡をし、 待ち行列の次の列車の到着が許されます。