美文网首页
为什么要使用工厂模式

为什么要使用工厂模式

作者: Mr_Zander | 来源:发表于2020-05-31 18:03 被阅读0次

工厂模式是一种创建型模式,是为了对外隐藏内部类。本篇文章不讲概念,只用下面一张图来回顾一下工厂模式

image

这里要提醒一点,工厂模式对外只暴露工厂类和抽象类(也可以是接口)。

使用工厂模式的目的是既隐藏了内部类的创建过程,又隐藏了具体功能的实现过程。

概念还是比较晦涩难懂的,下面举个例子说明:

你去小米店买手机,这时候你只知道我要买一台1亿像素的手机 ,这时候店员给你推荐了小米11,然后你买了手机去打电话发短信了。

注意,你在店员推荐之前是不知道具体的手机型号的,而是只知道你需要一台1亿像素的手机。

下面用伪代码表示一下:

class XiaoMiStore {
   static func getPhone(xiangsu) -> XiaomiPhone {
       if (xiangsu == 1亿) {
           return 小米11;
       else if (….)  {
           ….
       }
       ….
    }
}

Interface XiaomiPhone {
     func call()
     func message()
     ….
}

Class  Xiaomi11: XiaomiPhone {
    …
}

使用:

XiaoMiPhone phone1 = XIaomiStore.getPhone(1亿)
phone1.call()

如果只使用抽象类,不用工厂模式,就会把具体类暴露出来,使用:

XiaoMiPhone phone1 = new Xiaomi11
phone1.call()

抽象类和工厂模式都不用:

Xiaomi11 phone1 = new Xiaomi11
phone1.call()

使用抽象类就相当于你去小米店之前知道你是要买手机还是要买吹风机
而使用工厂模式是为了让你省去了解每个机型特点的时间。
工厂模式就是让用户能够根据已知的表象特征得到所需的产品。

欢迎关注微信公众号查看更多高质量文章:爱编程的大头

相关文章

  • 为什么要使用工厂模式

    工厂模式是一种创建型模式,是为了对外隐藏内部类。本篇文章不讲概念,只用下面一张图来回顾一下工厂模式 这里要提醒一点...

  • 我对工厂和构造函数方式创建对象的理解

    为什么要使用工厂模式和构造函数方式创建对象? 虽然Object构造函数(var obj = new Object(...

  • iOS 工厂模式-简单工厂模式

    工厂模式-简单工厂模式---简介: 工厂模式是创建类型的模式,为什么使用工厂模式? 原因:解除耦合 示例1: ``...

  • (三)抽象工厂模式

    概念 抽象工厂模式为创建型模式该模式与简单工厂模式相比,该模式用一个超级工厂的概念,该超级工厂又去创建其他工厂,是...

  • 简单工厂模式和工厂方法模式的区别

    在设计模式中,工厂模式是用的比较多的一种模式,工厂模式一般可分为”简单工厂”、”工厂方法”、“抽象工厂方法”模式模...

  • JS设计模式之工厂模式

    工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。 简...

  • js十大设计模式

    工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...

  • 工厂模式

    2020.01.13 晚 22:24 问题 我们从下面3个问题去对工厂模式进行探讨 为什么需要工厂模式? 工厂模式...

  • 工厂模式

    包含简单工厂模式、工厂模式和抽象工厂模式。 比较常见的实例化对象模式。 此处我是用例子实现几个模式方便理解。 简单...

  • PHP设计模式-几种工厂模式的对比

    工厂模式 在讲解工厂模式之前,我们先来探讨一些问题,研究是为什么会出现工厂模式的,工厂模式有什么优缺点。 以超人为...

网友评论

      本文标题:为什么要使用工厂模式

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