设计模式--抽象工厂模式

设计模式--抽象工厂模式

      抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类。

      结构图:
      
      AbstractFactory:抽象工厂接口,它里面应该包含所有的产品创建的抽象方法。
      AbstractProductA、AbstractProductB:抽象产品,它们都有可能两种以上不同的实现。

      优点:
            最大的好处便是易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂即可使用不同的产品配置。它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产品的具体类名也被具体的工厂分离实现,不会出现在客户端代码中。

      缺点:
            若需要新增加一个ProductC,需要增加很多类,以及修改相应很多类。
            解决方案:反射+抽象工厂模式。

你可能感兴趣的:(设计模式--抽象工厂模式)