KICK THE DP

KICK THE CAN CREWでデザインパターンを攻略するブログ

Ch.16 KICK THE MEDIATOR

【目標】

Mediatorパターンを使ってTORIIIIIICO!のマイクパスをやってみよう

【クラス図】

f:id:mikeera2:20160926184914p:plain

【実装】

<IMicrophonePassインターフェース:Mediator>

f:id:mikeera2:20160926223650p:plain

<MC抽象クラス:Colleague>

f:id:mikeera2:20160926223935p:plain

Krevaクラス:ConcreteColleague≫

f:id:mikeera2:20160926224409p:plain

f:id:mikeera2:20160926224510p:plain

Mcuクラス:ConcreteColleague≫

~略~

≪Littleクラス:ConcreteColleague≫

~略~

Cuezeroクラス:ConcreteColleague≫

~略~

≪Channelクラス:ConcreteColleague≫

~略~

≪Sohjinクラス:ConcreteColleague≫

~略~

≪Hookクラス:ConcreteColleague≫

f:id:mikeera2:20160926225026p:plain

f:id:mikeera2:20160926225032p:plain

≪Toriiiiiicoクラス:ConcreteMediator≫

f:id:mikeera2:20160926225427p:plain

[Mainクラス]

f:id:mikeera2:20160926230650p:plain

【出力結果】

f:id:mikeera2:20160926230203p:plain

f:id:mikeera2:20160926230214p:plain

f:id:mikeera2:20160926230222p:plain

【メモ】

・1番だけにしとかないとJ/A/S/R/A/Cに怒られそう

・イメージしやすいけど、厳密には正しい例ではない。まぁ今までのに比べればよろしい。

・Facadeパターンとの違いは命令主が外部か内部かという違いだと認識しているけど、間違ってるかもしれない。