设计模式
软件设计七大原则(OOP原则)
开闭原则:对扩展开放,对修改关闭。
里氏替换原则:不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义。
依赖倒置原则:要面向接口编程,不要面向实现编程。
单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。
接口隔离原则:要为各个类建立它们需要的专用接口。
迪米特法则:一个类应该保持对其它对象最少的了解,降低耦合度。
合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
创建型-单例模式
保证一个类只有一个实例, 并提供一个访问该实例的全局节点。
应用:
- 网页中的全局状态管理器。
- 数据库连接池的管理。
- 日志记录器
创建型-工厂模式
简单工厂模式
定义了一个创建对象的类,由这个类来封装实例化对象的行为。
class SimpleBarFactory {
static create(type) {
switch (type) {
case 'A':
return new BarA()
case 'B':
return new BarA()
}
}
}
js结构型-装饰器模式
在不改变原对象的基础上,通过对其进行包装拓展,使原有对象可以满足用户的更复杂需求。在对象功能扩展方面,它比继承更有弹性。
结构型-适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。例如:axios 抹平了浏览器与 Node.js 之间的接口差异。