6. 一分钟读懂“抽象工厂模式”

6.1 模式介绍

书接上文,工厂方法模式只能搞定单一产品族,遇到需要生产多个产品族时就歇菜了。于是,在需求的"花式鞭策"下,程序员们再次绷紧脑细胞,创造出了更强大的抽象工厂模式,让工厂一次性打包多个产品族,效率拉满!

6.2 实现要素

抽象工厂模式关注的是多个产品族的创建,其实现3要素包括:n个产品接口、m个产品实现类(m>=n)、1个工厂接口,n个创建产品族的具体工厂实现类。

6.3 场景案例

抽象工厂模式就像电脑品牌的配件供应链,专门负责生产统一的产品组合。

  • 产品接口CPUGPU 是配件的通用规范,比如 CPU.process() 负责计算,GPU.render() 负责图形渲染。

  • 产品实现类 :不同品牌提供具体实现,比如 IntelCPUIntelGPU 注重高性能,AMDCpuAMDGpu 强调性价比。

  • 工厂接口ComputerPartsFactory 规定每个品牌都必须实现 createCPU()createGPU(),确保接口一致。

  • 具体工厂IntelFactory 专门生产 Intel 系列配件,AMDFactory 打造 AMD 系列配件,保证全套兼容性。

客户端就像在选择整套电脑配件,调用 createCPU()createGPU() 等方法来从工厂中获得一整套相关的产品。只需要挑选品牌(Intel 或 AMD),工厂帮你搭配好,免去兼容性烦恼!

相关推荐
过期动态15 小时前
【LeetCode 热题 100】无重复字符的最长子串
java·数据结构·spring boot·算法·leetcode·职场和发展
Yeats_Liao15 小时前
好复杂的 IoT 世界:工业数据采集技术栈全景解析
java·物联网·struts
月落归舟16 小时前
Java线程小记
java·开发语言
西凉的悲伤16 小时前
Spring Cloud Gateway介绍
java·spring cloud·gateway
逸Y 仙X16 小时前
文章五:Elasticsearch安全通信
java·大数据·安全·elasticsearch·搜索引擎·全文检索·jenkins
quan263116 小时前
20260529,日常开发-查老数据全量更新闭坑
java·mysql·主从·主从延迟
大大杰哥16 小时前
Java 日志框架详解:SLF4J + Logback 从入门到实战
java·开发语言·logback
Dest1ny-安全16 小时前
2026最新CTF知识库:12大Web漏洞深度文章+1156篇历年大赛WP+50+脚本+Payload速查 +AI/RAG离线在线知识库
java·学习·安全·web安全·servlet
404号扳手17 小时前
Java 基础知识(六)
java·后端
我命由我1234517 小时前
SEO 与 GEO 极简理解
java·linux·运维·开发语言·学习·算法·运维开发