美文网首页
Nodejs实现23种设计模式-1.简单工厂模式

Nodejs实现23种设计模式-1.简单工厂模式

作者: 2b3ae5426811 | 来源:发表于2017-07-03 14:50 被阅读0次

Nodejs实现24种设计模式--简单工厂模式

导语:
24种设计模式,分为三大类,创建型、结构型和行为型。这些模式,使得我们的代码基本满足了六大规则,即单一职责原则(Single Responsibility Principle, SRP),开闭原则(Open-Closed Principle, OCP),里氏代换原则(Liskov Substitution Principle, LSP),依赖倒转原则(Dependency Inversion Principle, DIP),接口隔离原则(Interface Segregation Principle, ISP),迪米特法则(Law of Demeter, LoD),这六大原则,让我们的代码更加的健壮和可维护,建议大家先看看这六大规则的定义。

在GOF(http://baike.baidu.com/item/GoF)中,之定义了23种设计模式,简单工厂模式并非单独的一个设计模式,它是工厂模式的一个特殊形式。所以在了解工厂模式之前,我们先了解一下简单工厂模式。什么是简单工厂模式?

定义:
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
下面是UML和时序图:

SimpleFactory.jpg seq_SimpleFactory.jpg

简单工厂的位置是位于封装体内的,也就是简单工厂是跟接口和具体的实现在一起的,算是封装体内部的一个类,所以简单工厂知道具体的实现类是没有关系的。

WX20170705-090216@2x.png

优点:
调用者无需关心具体的实现,减少调用者的记忆量,不修改调用者的代码,就能修改具体实现,互不影响。

缺点:
简单工厂模式中,由工厂集中创建,存在单点故障。
增加一个具体实例,就要修改工厂,工厂的复杂度随着系统功能的增加,会越来越复杂,不利于系统扩展和维护。

简单工厂的实现,使得里氏代换法则可以生效,忘记了什么是里氏代换法则?简单来说,就是父类出现的地方,都可以用子类来替换,懂了不?

Nodejs实现:


14990641026635.jpg WechatIMG142.jpeg

有问题欢迎找小编来交流,回复简单工厂模式,获取Demo下载链接。

相关文章

  • Nodejs实现23种设计模式-1.简单工厂模式

    Nodejs实现24种设计模式--简单工厂模式 导语:24种设计模式,分为三大类,创建型、结构型和行为型。这些模式...

  • iOS设计模式-工厂模式

    工厂模式分为简单工厂模式,工厂模式、抽象工厂模式三类。 简单工厂模式 1. 定义 简单工厂模式并不是常用的设计模式...

  • 十二、简单工厂模式

    简单工厂模式不属于23种GOF设计模式之一。它也称作静态工厂方法模式,是工厂方法模式的特殊实现。 1. 何为简单工...

  • 三、创建型模型

    简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 1.简单工厂模式 简单工厂模式并不属于23种设计模式。 不难看...

  • 创建相关的设计模式

    简单工厂模式 工厂模式 工厂生产行为交由子类去实现 抽象工厂模式 三种工厂模式的缺点:1.简单工厂:工厂类需要实现...

  • 设计模式之工厂模式

    设计模式之工厂模式 1. 简单工厂模式 1.1 模式定义 简单工厂模式又称为静态工厂方法,它属于创建型模式。在简单...

  • 设计模式-工厂模式

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

  • 创建型模式

    工厂模式(简单工厂(不属于23种设计模式)、工厂方法、抽象工厂) 建造者模式 单例模式 原型模式 1.简单工厂(静...

  • 设计模式一、单例模式

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

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

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

网友评论

      本文标题:Nodejs实现23种设计模式-1.简单工厂模式

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