KICK THE DP

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

Ch.12 KICK THE DECORATOR

【目標】

DECORATORパターンを使って、MCUが作曲や俳優の仕事ができるようにしよう。

【クラス図】

f:id:mikeera2:20160924170408p:plain

【実装】

<McuComponent抽象クラス:Component>

f:id:mikeera2:20160924180100p:plain

Mcuクラス:ConcreteComponent≫

f:id:mikeera2:20160924180307p:plain

<Ability抽象クラス:Decorator>

f:id:mikeera2:20160924180535p:plain

≪Composableクラス:ConcreteDecorator≫

f:id:mikeera2:20160924181140p:plain

≪Actableクラス:ConcreteDecorator≫

f:id:mikeera2:20160924181358p:plain

[Mainクラス]

f:id:mikeera2:20160924181742p:plain

【出力結果】

f:id:mikeera2:20160924181829p:plain

【メモ】

MCUに失礼

・Component(本体)側とDecorator側を同じクラスから派生させるのに違和感がある

・実際にメソッドが呼び出される順番を意識する必要がありそう

・それぞれのDecoratorが独立でないと具合が悪そうで、具体的にどういう場面で使えるのかイマイチつかみきれてない

MCUに失礼