Ch.4 KICK THE FACTORY METHOD
【目標】
Factory Methodパターンを使って、ヒップホップとR&Bの曲を作ろう
【クラス図】
【実装】
<Song抽象クラス:Product>
<Project抽象クラス:Creator>
≪HipHopSongクラス:ConcreteProduct≫
≪HioHopProjectクラス:ConcreteCreator≫
≪RAndBSongクラス:ConcreteProduct≫
≪RAndBProjectクラス≫
[Mainクラス]
【出力結果】
【メモ】
・こっちではprotectedを使っているのは何故だ
・これも結城センセのソースに則って、名前空間をフレームワーク側と実装側に分けているが、必ずしも必要ではない気がする
・Factory Methodパターンつってんのに、なぜFactoryではなくCreatorなのか
・コンストラクタの中にCreate()の役目を実装してしまうのは避けた方がよいのだろう。コンストラクタでは基本的には代入のみを行うようにする。