1、概念
抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。
2、产品族和产品等级
示意图:
解释说明:
横轴:Cat Dog Pig 纵轴:各个工厂
3、角色
(1)抽象工厂角色
抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口。(2)具体工厂角色
具体工厂类是抽象工厂的一个实现,负责实例化某个产品族中的产品对象。(3)抽象角色
抽象模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口(4)具体产品角色
抽象模式所创建的具体实例对象
4、图示说明
这里我以前面两片文章的代码模型,说明以下抽象工厂模式的结构示意图:
当然,我找到了一副更好的说明图,基于UML文件模型的图示,如下: