KICK THE DP

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

Ch.10 KICK THE STRATEGY

【目標】

Strategyパターンを使って、KICK THE CAN CREWの脳内VACATIONを覗いてみよう。

【クラス図】

f:id:mikeera2:20160923222019p:plain

【実装】

<VacationStyleインターフェース:Strategy>

f:id:mikeera2:20160923222623p:plain

≪KrevaStyleクラス:ConcreteStrategy≫

f:id:mikeera2:20160923222900p:plain

≪McuStyleクラス:ConcreteStrategy≫

f:id:mikeera2:20160923223320p:plain

≪LittleStyleクラス:ConcreteStrategy≫

f:id:mikeera2:20160923223433p:plain

≪Vacationクラス:Context≫

f:id:mikeera2:20160923223652p:plain

[Mainクラス]

f:id:mikeera2:20160923223822p:plain

【出力結果】

f:id:mikeera2:20160923223931p:plain

【メモ】

・すごく使いたくなるネーミング

・Mainクラスからインターフェースを直接扱うのではなく、Context役を通じて操作しているが、この例ではメリットがない

・ConcreteStrategy内のメソッドを複数組み合わせたものをひとつのメソッドとして、Context内で再定義するのであればContextが必要になりそう。