工厂方法设计模式介绍:一句话来说,就是将对象的实例化抽象成方法,由具体的子类去实例化
项目背景:接之前pizza店的项目,现在有中国的芝士披萨、希腊披萨,还有伦敦的芝士披萨、希腊披萨,由工厂方法设计模式来实现
话不多说,直接上代码:
写代码之前,先上UML类图
思想:OrderPizza,作为一个抽象类,提供了createPizza的抽象方法,由具体的ChinesePizzaOrder、LDPizaaOrder子类分别去实现,这样就实现了创建对象过程的下移,根据具体的需求,由不同的子类去创建不同的pizza对象
orderPizza:
两个具体的实现类
四种披萨子类,因为代码都差不多就只上一个了
客户端调用
运行结果