工厂模式

简单工厂模式设计模式

  简单工厂模式也叫作静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。spa

    

一、优势。设计

  经过使用工厂类,外界能够从直接建立具体产品对象的尴尬局面摆脱出来,仅仅须要负责“消费”对象就能够了。而没必要管这些对象究竟如何建立及如何组织的.明确了各自的职责和权利。对象

二、缺点。blog

  因为工厂类集中了全部实例的建立逻辑,违反了高内聚责任分配原则,将所有建立逻辑集中到了一个工厂类中;它所能建立的类只能是事先考虑到的,若是须要添加新的类,则就须要改变工厂类了。接口

三、点评开发

  在实际应用中,没有人会使用这种经典的简单工厂模式。一般会将 Type 成为 Product 的一个属性,工厂根据 Type,生成对应的 Product,从而避免工厂耦合Product。get

工厂方法模式产品

   将一个工厂,拆分红了多个工厂。每一个工厂分别负责不一样的产品。it

  

  工厂方法模式保持了简单工厂模式的优势,并且克服了它的缺点。但工厂方法模式的缺点是每增长一个产品类,就须要增长一个对应的工厂类,增长了额外的开发量。

一、点评

  本模式将Simple Factory中的 Type 拆分了成各个SubFactory,每一个 SubFactory管理一个Type。这样作解保持了开闭原则。可是使用方Client须要根据不一样的Type,选择不一样的Factory。

抽象工厂模式

   定义:为建立一组相关或相互依赖的对象提供一个接口,并且无需指定他们的具体类。

    

  

     1,首先从简单工厂进化到工厂方法,是由于工厂方法弥补了简单工厂对修改开放的弊端,即简单工厂违背了开闭原则。

     2,从工厂方法进化到抽象工厂,是由于抽象工厂弥补了工厂方法只能创造一个系列的产品的弊端。

相关文章
相关标签/搜索