披萨项目为例,使用工厂模式设计
需求:方便披萨品种扩展,便于维护,要能运行时扩展
披萨族(组)设计类图
假设只有原料不同,其他操作如烘焙、切割、打包相同,就把prepare方法设置为抽象方法
一般设计如下
//披萨族抽象类 public abstract class Pizza { protected String name; public abstract void prepare(); public void bake() { System.out.println(name + " baking;"); } public void cut() { System.out.println(name + " cutting;"); } public void box() { System.out.println(name + " boxing;"); } public void setName(String name) { this.name = name; } }