美文网首页
工厂模式

工厂模式

作者: 陌巷先森 | 来源:发表于2019-02-28 10:16 被阅读0次

工厂模式的概念

工厂模式也称为虚构造器,它适用于一个类无法预期生成那个类对象,想让其子类来指定所生成具体对象。iOS中存在许多的类工厂模式的设计方式,丰富了类的实现模式,父类可以声明多种初始化方法提供给子类,子类按照自身需求可以动态的调用父类的方法完成特定的初始化操作。

工厂模式的分类

简单工厂模式

简单工厂又被称作静态工厂方法模式,其不属于23种GOF设计模式之一,是工厂方法的特殊实现,专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类。

工厂方法模式

工厂方法使用OOP的多态性,将工厂和产品都抽象出一个基类,在基类中定义统一的接口,然后在具体的工厂中创建具体的产品。


工厂方法结构图

工厂方法模式相比简单工厂模式:

  • 工厂方法模式克服了简单工厂模式违背开放-封闭原则的缺点,保持了封装对象创建过程的优点。
  • 要更换对象时,无论用简单工厂模式还是工厂方法模式,都可以不用做大的改动,就可以实现,降低客户程序与产品对象的耦合。
  • 工厂方法模式是简单工厂模式的进一步抽象和推广,缺点是,每加一个产品,就要加一个产品工厂的类,增加了开发量。

抽象工厂模式

抽象工厂提供一个固定的接口,用于创建一系列有关联或相依存的对象,而不必指定其具体类或其创建的细节。客户端与从工厂得到的具体对象之间没有耦合。


抽象工厂模式结构图

抽象工厂的使用场景:

  • 一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有形态的工厂模式都是重要的。
  • 这个系统有多于一个的产品族,而系统只消费其中某一产品族。
    同属于同一个产品族的产品是在一起使用的,这一约束必须在系统的设计中体现出来。
  • 系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于实现。

参考:完整项目资料下载

相关文章

  • 常用设计模式

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

  • 工厂模式

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

  • 工厂模式

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

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

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

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

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

  • 工厂模式

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

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

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

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

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

  • 设计模式-工厂模式

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

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

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

网友评论

      本文标题:工厂模式

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