定义简单工厂
简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。
PizzaStore类,里面有orderPizza()方法。
这里是工厂的“客户”。PizzaStore现在通过SimplePizzaFactory取得比萨实例。
SimplePizzaFactory类,里面有createPizza()方法。
这个创建方法通常声明为静态。
这个是建立比萨的“工厂”。
Pizza里面有prepare(),bake(),cut(),box()方法
这是工厂的“产品”:比萨
把Pizza定义为抽象类,具有一些有用的实现,这些实现可以被覆盖。
CheesePizza、VeggiePizz、ClamPizza、PepperoniPizza
这是“具体产品”,每个产品都必须实现Pizza接口,并设计一个具体类。这样就可以被工厂创建并放回给客户
在设计模式中,所谓的“实现一个接口”并“不一定”表示“写一个类,并利用implement关键词实现某个java接口”