
public interface PizzaIngredientFactory {
public Dough createDough();
public Sauce createSauce();
public Cheese createCheese();
public Veggies[] createVeggies();
public Pepperoni createPepperoni();
public Clams createClam();
}
食材ファクトリを構築する
ここでは、食材を作成するファクトリを構築します。このファク
トリは、一連の食材を構成する各食材を作成する役割を担います。
つまり、このファクトリでは生地、ソース、チーズなどを作成する
必要があります。地域ごとの違いをどのように処理するかについて
はこれから説明します。
まず、すべての食材を作成するファクトリのインタフェースを定
義してみましょう。
このインタフェースで、各食材用の作成
メソッドを定義します。
このインタフェースを使って、次のことを行います。
ここには、食材ごとに
1
つずつ、
新しいクラスが多数あります。
1
2
3
地域ごとのファクトリを作成する。つまり、各作成メソッドを実装する
PizzaIngredientFactory
のサブクラスを作成する。
ReggianoCheese
、
RedPeppers
、
ThickCrustDough
など、ファクトリが使用する一連の食材クラ
スを実装する。これらのクラスは、必要に応じて地域間で共有できる。 ...