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),工厂帮你搭配好,免去兼容性烦恼!

相关推荐
毕设源码-赖学姐19 小时前
【开题答辩全过程】以 音像租借管理系统为例,包含答辩的问题和答案
java
小宇的天下19 小时前
Calibre 3Dstack --每日一个命令day7【Centers】(3-7)
java·服务器·数据库
用户03048059126319 小时前
Spring Boot 配置文件加载大揭秘:优先级覆盖与互补合并机制详解
java·后端
青莲84319 小时前
Java内存回收机制(GC)完整详解
java·前端·面试
CRUD酱19 小时前
微服务分模块后怎么跨模块访问资源
java·分布式·微服务·中间件·java-ee
gAlAxy...19 小时前
5 种 SpringBoot 项目创建方式
java·spring boot·后端
lalala_lulu19 小时前
什么是事务,事务有什么特性?
java·开发语言·数据库
沛沛老爹20 小时前
深入理解Agent Skills——AI助手的“专业工具箱“实战入门
java·人工智能·交互·rag·企业开发·web转型ai
蓝程序20 小时前
Spring AI学习 程序接入大模型(HTTP接入)
java·spring
小途软件20 小时前
ssm607家政公司服务平台的设计与实现+vue
java·人工智能·pytorch·python·深度学习·语言模型