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 分钟前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
云运维笔记17 分钟前
Zabbix 分布式监控搭建实战:基于 Proxy 实现 MySQL、Java、Nginx 监控
java·mysql·zabbix
zhanghaha131423 分钟前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python
司小豆28 分钟前
第七课:DeepSeek Harness 服务与依赖注入
java·服务器·开发语言·github·ai编程
码匠许师傅1 小时前
【设计模式精讲】21.迭代器模式(Iterator)
c++·设计模式·rpc·迭代器模式·软件工程·uml
许彰午1 小时前
24-MyBatisHelper与autoCount
java·低代码·架构
CRMEB系统商城1 小时前
汽车养护连锁的数字化底座CRMEB 多门店系统实战方案
java·开发语言·小程序·开源·汽车
学编程就要猛1 小时前
使用Spring AI配置聊天大模型实现人机交互(初阶)
java·spring ai·advisor·chatclient·chatmodel
代码不停1 小时前
子序列问题
java·算法
计算机学姐1 小时前
基于SpringBoot的高校爱心慈善管理系统
java·vue.js·spring boot·后端·spring·tomcat·mybatis