6.1 模式介绍
书接上文,工厂方法模式只能搞定单一产品族,遇到需要生产多个产品族时就歇菜了。于是,在需求的"花式鞭策"下,程序员们再次绷紧脑细胞,创造出了更强大的抽象工厂模式,让工厂一次性打包多个产品族,效率拉满!
6.2 实现要素
抽象工厂模式关注的是多个产品族的创建,其实现3要素包括:n个产品接口、m个产品实现类(m>=n)、1个工厂接口,n个创建产品族的具体工厂实现类。
6.3 场景案例
抽象工厂模式就像电脑品牌的配件供应链,专门负责生产统一的产品组合。
产品接口 :
CPU
和GPU
是配件的通用规范,比如CPU.process()
负责计算,GPU.render()
负责图形渲染。产品实现类 :不同品牌提供具体实现,比如
IntelCPU
和IntelGPU
注重高性能,AMDCpu
和AMDGpu
强调性价比。工厂接口 :
ComputerPartsFactory
规定每个品牌都必须实现createCPU()
和createGPU()
,确保接口一致。具体工厂 :
IntelFactory
专门生产 Intel 系列配件,AMDFactory
打造 AMD 系列配件,保证全套兼容性。客户端就像在选择整套电脑配件,调用
createCPU()
和createGPU()
等方法来从工厂中获得一整套相关的产品。只需要挑选品牌(Intel 或 AMD),工厂帮你搭配好,免去兼容性烦恼!