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和时序图:
![](https://img.haomeiwen.com/i3656682/0c18611b128047d4.jpg)
![](https://img.haomeiwen.com/i3656682/7c3e66ab2b003ed5.jpg)
简单工厂的位置是位于封装体内的,也就是简单工厂是跟接口和具体的实现在一起的,算是封装体内部的一个类,所以简单工厂知道具体的实现类是没有关系的。
![](https://img.haomeiwen.com/i3656682/49db481e7714d700.png)
优点:
调用者无需关心具体的实现,减少调用者的记忆量,不修改调用者的代码,就能修改具体实现,互不影响。
缺点:
简单工厂模式中,由工厂集中创建,存在单点故障。
增加一个具体实例,就要修改工厂,工厂的复杂度随着系统功能的增加,会越来越复杂,不利于系统扩展和维护。
简单工厂的实现,使得里氏代换法则可以生效,忘记了什么是里氏代换法则?简单来说,就是父类出现的地方,都可以用子类来替换,懂了不?
Nodejs实现:
![](https://img.haomeiwen.com/i3656682/9e150f506a1992fa.jpg)
![](https://img.haomeiwen.com/i3656682/6c81cb6602142ccb.jpeg)
有问题欢迎找小编来交流,回复简单工厂模式,获取Demo下载链接。
网友评论