这里,我们定义了一个抽象工厂角色,我们用接口定义了一系列的产品家族。
2、具体工厂 public class AFactory implements AbstractFactory { @Override public Pizza createCheese() { System.out.println("A工厂制造的奶酪披萨"); return new CheesePizza(); } @Override public Pizza createDurian() { System.out.println("A工厂制造的榴莲披萨"); return new DurianPizza(); } } public class BFactory implements AbstractFactory { @Override public Pizza createCheese() { System.out.println("B工厂制造的奶酪披萨"); return new CheesePizza(); } @Override public Pizza createDurian() { System.out.println("B工厂制造的榴莲披萨"); return new DurianPizza(); } }这是两个具体的工厂类,实现了抽象工厂接口,包含了一系列产品家族的实现代码。
3、抽象产品和具体产品