📚 分类
设计模式
🕵🏽‍♀️ 问题描述
抽象工厂模式
👨‍🏫 问题讲解
抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。

现咖啡店业务发生改变,不仅要生产咖啡还要生产甜点
同一个产品等级(产品分类)
咖啡:拿铁咖啡、美式咖啡
甜点:提拉米苏、抹茶慕斯
同一个风味,就是同一个产品族(相当于同一个品牌)
美式风味:美式咖啡、抹茶慕斯
意大利风味:拿铁咖啡、提拉米苏

优点:
当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。
缺点:
当产品族中需要增加一个新的产品时,所有的工厂类都需要进行修改。
🏳️‍🌈 问题总结
1.简单工厂

所有的产品都共有一个工厂,如果新增产品,则需要修改代码,违反开闭原则
是一种编程习惯,可以借鉴这种编程思路

2.工厂方法模式

给每个产品都提供了一个工厂,让工厂专门负责对应的产品的生产,遵循开闭原则
项目中用的最多

3.抽象工厂方法模式

如果有多个纬度的产品需要配合生产时,优先建议采用抽象工厂(工厂的工厂)
一般的企业开发中的较少
📖 问题信息
📈 浏览次数:9 | 📅 更新时间:2026-01-21 18:33:04
📦 创建信息
🏷️ ID:153 | 📅 创建时间:2025-02-04 20:23:30