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

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

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

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

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

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

相关推荐
PC2005-cloud7 分钟前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql
starsky762381 小时前
Agent学习——上下文工程(二)
学习
Dark_Fairy2 小时前
CMeKG_tools 知识图谱项目速成教程(13课共24H)
学习
悟乙己2 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
我送炭你添花2 小时前
ASA原理与电子维修实战:前言 一路修来,一路学习
运维·网络·学习
yi0113 小时前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
范中勤3 小时前
技术文档:模型工厂 `llm_provider` / `llm_use` 分层设计
设计模式·langchain·架构设计·模型工厂·llm_provider
杨逢昌工厂6S管理3 小时前
116——杨逢昌:归位三定闭环法的旺季轻量化执行方案与工具清单
经验分享·笔记·职场和发展·学习方法
想喝奶茶啾啾3 小时前
AMBA CHI架构以及规范中使用的术语 翻译笔记(1)
笔记·arm·chi
代码山河3 小时前
第一个Java程序:Hello World从零编写与运行
java·学习·架构·教程·面向对象·项目