美文网首页
设计模式-工厂

设计模式-工厂

作者: minking1982 | 来源:发表于2017-07-17 21:45 被阅读0次

工厂模式有那几种,
各模式的弊端和优越性

1. 简单工厂模式

屏幕快照 2017-07-14 下午3.48.19.png

在新加一个product时,需要新家一个继承IProduct的产品类,并且去修改Factory类里创建对象的逻辑,加一个case语句,修改的是工厂类,上层客户端是不需要修改的。只需要针对新产品调用工厂类的创建方法创建新产品就可以了

优点:工厂中包含了必要的逻辑判断,根据客户端选择条件动态实例化相关的类,在客户端来说去除了与具体产品的依赖。
缺点:1.违背了开放-封闭原则,每次添加新产品时需要在工厂类中加一个逻辑判断。把逻辑引入到更上层的客户端。

  1. 在调用工厂类方法创建了好几个对象时,需要修改对象类型时,需要修改多处代码
![Uploading 屏幕快照 2017-07-14 下午4.13.14_135823.png . . .]

2.工厂方法模式

屏幕快照 2017-07-14 下午3.56.51.png

与简单工厂相比,多了一个工厂的抽象类,各种工厂继承这个抽象类,实现接口。客户端使用对象时,根据自己的需求调用不同的工厂类进行创建对象。

优点:添加新产品时,整个工厂和产品体系没有做修改,只是进行了一些扩展
要修改产品类型时,只需要修改一处就可以了


屏幕快照 2017-07-14 下午4.13.14.png

缺点:每加一个产品不单要加产品类,还需要加一个产品工厂的类

3. 抽象工厂模式

屏幕快照 2017-07-14 下午4.28.46.png

抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需制定她们的具体的类

为了创建不同的产品对象,客户端需要创建不同的产品工厂

相关文章

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • 设计模式三、工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 工厂模式 在一...

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

  • 单件设计模式

    一、定义 设计模式 设计模式就是一种更好的编写代码方案。 常见设计模式 工厂设计模式、抽象工厂设计模式、抽象工厂设...

  • iOS设计模式(三)之抽象工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(一)之简单工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • iOS设计模式(二)之工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

  • 设计模式-工厂模式

    设计模式1 设计模式2 工厂模式 工厂模式可简单的分为三类:简单工厂,工厂方法,抽象工厂 简单工厂模式 定义 简单...

网友评论

      本文标题:设计模式-工厂

      本文链接:https://www.haomeiwen.com/subject/mrtohxtx.html