
createPizza()
ChicagoPizzaStore
createPizza()
NYPizzaStore
Pizza
NYStyleCheesePizza
NYStyleVeggiePizza
NYStyleClamPizza
NYStylePepperoniPizza
ChicagoStyleVeggiePizza
ChicagoStyleClamPizza
ChicagoStylePepperoniPizza
ChicagoStyleCheesePizza
createPizza()
orderPizza()
PizzaStore
ついに
Factory Method
パターンに対面するときが来た
オブジェクト作成をカプセル化するのがファクトリパターンです。中でも
Factory Method
パターンは、作成するオブ
ジェクトをサブクラスに決定させることによって、オブジェクト作成をカプセル化します。以下のクラス図をよく観察し
て、このパターンの構成要素を確認しましょう。
多くの場合、作成者クラスには抽象製品
に依存するコードが含まれています。抽
象製品はサブクラスによって作成されま
す。作成者クラスはどの具象製品が作成
されたか知ることはありません。
各フランチャイズ店は
PizzaStore
の独自のサブクラスを持ち、
createPizza()
を実装して独自ス
タイルのピザを自由に作ることが
できます。
createPizza()
メソッドは
ファクトリメソッドです。こ
のメソッドは製品を作成しま
す。
これは抽象作成者クラスで