码迷,mamicode.com
首页 > 其他好文 > 详细

工厂模式

时间:2019-03-04 21:14:58      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:blank   分配   简单   ike   http   相关   技术   client   弊端   

简单工厂模式

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

    技术图片

1、优点。

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

2、缺点。

  由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中;它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。

3、点评

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

工厂方法模式

   将一个工厂,拆分成了多个工厂。每个工厂分别负责不同的产品。

  技术图片

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

1、点评

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

抽象工厂模式

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

    技术图片

  

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

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

  

 

工厂模式

标签:blank   分配   简单   ike   http   相关   技术   client   弊端   

原文地址:https://www.cnblogs.com/tekkaman/p/10472914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!