设计模式学习笔记——抽象工厂模式

设计模式(创建型)------ 抽象工厂模式

在工厂模式中,我们为每一个类都设计了一个工厂,以此来获取该类的对象,但缺点就是一旦类多了,工厂就多了,这时候我们可以考虑这些类间是否有关联,举个例子:

  • 小米华为这两个品牌都有自己的手机、路由器等电子产品,如果按照之前的方法,我们需要为这些产品都设计一个工厂,那这样成本太高了,如果按照品牌划分,分为小米工厂和华为工厂,每个工厂都拥有制造手机、路由器的生产线,这样一来我们就只需要两个工厂类。

同时因为这两个工厂有共同点,所以我们可以进行抽象化,设计一个超级工厂,它拥有制造手机、路由器的生产线(方法),这样一来,当我们需要新增一个具有相同产品线的工厂时,只需要继承这个超级工厂即可。

但这种方法也有缺点,当我们的产品线需要新增产品时,超级工厂和每个品牌的工厂都需要进行修改,这也就违背了开闭原则。

相关推荐
咖啡八杯20 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
胡萝卜术1 天前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序2 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
青禾网络4 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO5 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯5 天前
GoF设计模式——命令模式
java·设计模式·架构
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
艺艺生辉6 天前
迭代器模式-"我也想被增强for循环"
设计模式