読者です 読者をやめる 読者になる 読者になる

KICK THE DP

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

Ch.8 KICK THE ABSTRACT FACTORY

【目標】

Abstract Factoryパターンを使って、「BREAK3」をやってみよう

【クラス図】

f:id:mikeera2:20160908182754p:plain

【実装】

 <AbstractRapper抽象クラス:AbstractFactory

f:id:mikeera2:20160922213558p:plain

 <Track抽象クラス:AbstractProduct>

f:id:mikeera2:20160922214758p:plain

 <Lyric抽象クラス:AbstractProduct>

f:id:mikeera2:20160922213914p:plain

Mcuクラス:CocreteFactory≫

f:id:mikeera2:20160922214426p:plain

≪McuTrackクラス:ConcreteProduct≫

f:id:mikeera2:20160922214921p:plain

≪McuLyricクラス:ConcreteProduct≫

f:id:mikeera2:20160922215214p:plain

≪Littleクラス:ConcreteFactory≫

~略~

≪LittleTrackクラス:ConcreteProduct≫

~略~

≪LittleLyricクラス:ConcreteProduct≫

~略~

Krevaクラス:CocreteFactory≫

~略~

≪KrevaTrackクラス:ConcreteProduct≫

~略~

≪KrevaLyricクラス:ConcreteProduct≫

~略~

[Mainクラス]

f:id:mikeera2:20160922215350p:plain

 【出力結果】

f:id:mikeera2:20160922215438p:plain

【メモ】

・これまで以上に例が不適切に感じる。

・具体的に使える場面がわかりそうでわからんない。

・AbstractRapperクラス内のクラス名を指定してインスタンスを生成する方法は覚えておきたい。