设计模式

271 阅读1分钟

单例模式

单例模式即一个类只能构造出唯一的实例,意义在于共享、唯一。例如redux/vuex

工厂模式

对创建对象逻辑的封装,这种封装可以用来批量创建对象,所以叫工厂模式。例如Vue.component(),可以批量创建全局组件,就是工厂模式的实现。

观察者模式

监听被观察者的变化,发生变化时,通知所有观察者,有时也被称为发布订阅模式(比观察者模式多了一个调度中心),。例如监听事件的实现。

装饰器模式

对类的一个包装,动态扩展类的功能(实质是传入所修饰的类的一个函数,可以修改传入的类)。ES7的装饰器语法

适配器模式

将一个接口转换为客户希望的另一个接口,使接口不兼容的那些类可以一起工作。

代理模式

在访问者和目标之间加一层代理,通过代理做授权和控制。ES6的proxy就是这一模式的实现。

一些原则

单一职责原则:一个类只负责一个功能领域的响应职责,一个类,应该只有一个引起他变化的原因
开放封闭原则:软件实体(类,模块,函数等),扩展是开放的,修改是封闭的(可扩展,不能修改)。