美文网首页
工厂模式

工厂模式

作者: _一叶孤帆 | 来源:发表于2021-01-19 16:50 被阅读0次

简单工厂模式

含义

由原本谁使用谁创建转变为由专门的类来创建。 (非 23 设计模式之一,工厂模式的基础)

优点

  1. 将对象的创建和使用分开
  2. 无需关心创建对象的具体实现

缺点

  1. 当需要创建对象类型多的时候,管理难度较大
  2. 不符合单一职责原则,一个工厂类负责了很多 class 类的创建。
  3. 不符合开闭原则,扩展品类的时候,需要修改已有代码

详解

有 class 1 、class 2 继承 class 对象

image.png

当 A 需要一个 class 1 对象时,需要 new 一个 class 1 对象。

image.png

当 B 需要一个 class 2 对象时,也需要 new 一个 class 2 对象。

image.png

...

造成的结果就是对象创建混乱, 由此引出简单的工厂模式,就是有工厂类进行创建对象。 A B 无需关心如何创建对象。只需要调用 factory 提供的创建方法即可。

image.png

工厂模式

思考

针对简单工厂模式的弊端,如何进行优化

分析

保证每个类对象的创建由一个工厂类负责

创建工厂类的接口和各个类的工厂实现类

class 1 和 class 2 有共同的父类 class

image.png

创建对象时,调用各个对象的工厂构建方法。

image.png

当需要新增类型,只需要实现接口并添加对应的实现类即可。

抽象工厂模式

当一个类对象有多种状态的时候或者相关联的对象处理的时候,我们就需要用到抽象工厂模式。

分析

当 class A 构建成功之后需要特定的处理,那么这个时候我们不需要再单独进行一个对应处理的工厂类,防止匹配错误。而是将对应的处理合并到同一个工厂类进行操作。在这个工厂类将关联的操作都进行接口实现。

相关文章

  • 常用设计模式

    设计模式 工厂模式 工厂模式思路上分:简单工厂模式,工厂模式, 抽象工厂模式// 抽象工厂模式可以代替工厂模式,做...

  • 工厂模式

    工厂模式细分三种:简单工厂模式、工厂模式、抽象工厂模式。 工厂模式相当于抽象了简单工厂模式的工厂类,而抽象工厂模式...

  • 工厂模式

    工厂模式 就是工厂---生产-->产品 在设计模式中,分为 简单工厂模式, 工厂方法模式,抽象工厂模式. 工厂模式...

  • 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

    找女朋友之简单工厂模式,工厂模式,抽象工厂模式 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

  • 【设计模式】- 工厂模式

    工厂模式分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。 工厂模式:靠工厂生产对象 简单工厂模式中只有一个工厂...

  • 工厂模式

    工厂模式包含三种模式:简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式 定义简单工厂模式:由一个工厂类根据...

  • Java设计模式——工厂模式

    工厂模式简单工厂模式工厂方法模式抽象工厂模式 1.简单工厂模式 1.基本介绍1)简单工厂模式也叫静态工厂模式,是属...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 第一章2.0工厂- 基础类准备

    2.1工厂-简单工厂模式2.2工厂-工厂方法模式2.3工厂-抽象工厂模式

网友评论

      本文标题:工厂模式

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