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

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和时序图:

Nodejs实现23种设计模式-1.简单工厂模式_第1张图片
SimpleFactory.jpg
Nodejs实现23种设计模式-1.简单工厂模式_第2张图片
seq_SimpleFactory.jpg

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

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

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

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

Nodejs实现:


Nodejs实现23种设计模式-1.简单工厂模式_第4张图片
14990641026635.jpg
Nodejs实现23种设计模式-1.简单工厂模式_第5张图片
WechatIMG142.jpeg

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

你可能感兴趣的:(Nodejs实现23种设计模式-1.简单工厂模式)