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

相关推荐
学Linux的语莫14 小时前
skills的使用
java·数据库·python
大模型玩家七七14 小时前
关系记忆不是越完整越好:chunk size 的隐性代价
java·前端·数据库·人工智能·深度学习·算法·oracle
一 乐14 小时前
林业资源管理|基于java + vue林业资源管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·林业资源管理系统
lipiaoshuigood14 小时前
微服务生态组件之Spring Cloud LoadBalancer详解和源码分析
java·spring cloud·微服务
Geoking.14 小时前
什么是乐观锁?原理、实现方式与实战详解
java·开发语言
小光学长15 小时前
基于ssm的校园约自习网站23i21xj4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring
人道领域15 小时前
Spring拦截器原理与实战详解
java·运维·服务器
茶杯梦轩15 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端
振鹏Dong15 小时前
ReActAgent 源码深度拆解:从调用入口到 ReAct-Loop,读懂智能体 “推理 - 行动” 范式
java·人工智能·spring·ai
HEU_firejef15 小时前
设计模式——单例模式
单例模式·设计模式