设计模式
抽象工厂模式
抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。 现咖啡店业务发生改变,不仅要生产咖啡还要生产甜点 同一个产品等级(产品分类) 咖啡:拿铁咖啡、美式咖啡 甜点:提拉米苏、抹茶慕斯 同一个风味,就是同一个产品族(相当于同一个品牌) 美式风味:美式咖啡、抹茶慕斯 意大利风味:拿铁咖啡、提拉米苏 优点: 当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点: 当产品族中需要增加一个新的产品时,所有的工厂类都需要进行修改。
1.简单工厂 所有的产品都共有一个工厂,如果新增产品,则需要修改代码,违反开闭原则 是一种编程习惯,可以借鉴这种编程思路 2.工厂方法模式 给每个产品都提供了一个工厂,让工厂专门负责对应的产品的生产,遵循开闭原则 项目中用的最多 3.抽象工厂方法模式 如果有多个纬度的产品需要配合生产时,优先建议采用抽象工厂(工厂的工厂) 一般的企业开发中的较少