什么是抽象工厂模式
抽象工厂模式(Abstract Factory Pattern) 是一种比较常见的设计模式,其定义如下:Provide an interface for creating families of realted or dependent objects without specifying their concrete classes.(为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类)
抽象:其实就是指定某一个接口的规范,具体点来说,也就是创建一个基类,基类遵守着某一套规范,但是具体的实现规则让子类来完成。当然指定接口的规范,我们也可以使用协议。
抽象工厂的通用类图
由上图可知,抽象工厂由一个产品抽象类(当然也可以是多个)、一个抽象工厂类、多个具体产品子类、多个具体工厂类组成。当多个产品抽象类中由相同类型的子类的时候,就可以使用抽象工厂模式,参与者的角色:
抽象工厂角色:负责创建抽象产品,指定需要的接口,任何在模式中创建对象的工厂都必须实现这个接口
具体工厂角色:实现抽象工厂接口的具体实现类,直接在客户端的使用下创建对应的产品实例。
抽象产品角色:工厂方法所创建产品对象的超类型&#x