上次讲了工厂方法,现在让我们来试试抽象工厂来组织我们的披萨店。(为什么我写了这么多,因为我不是单纯写设计模式,带着这了编程的思想)
先看概念:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
这句话看上去很简略,通过下面的例子,我们可以很好的理解这句话。
-----------------------------
我们做披萨,针对不同的披萨有不同的食材,比如面饼、酱汁、起司、蔬菜等,所以我们需要一个创建这些食材的接口。定义如下:
public interface PizzaIngredientFactory{
public Dough createDough();
public Sauce createSauce();
public Cheese createCheese();
public Veggies[] createVeggies();
public Pepperoni createPepperoni();
public Clams createClams();
}
这个接口定义了制作所需的食材的方法。
当我们需要制作出不同的披萨的时候,我们首先需要实现这个接口来生成一个专门的为我们这个披萨提供材料的工厂。
于是,我们先生成一个为符合四川人口味的食材提供的工厂:
public class SCPizzaIngredientFacto