单例模式
单例模式即一个类只能构造出唯一的实例,意义在于共享、唯一。例如redux/vuex
工厂模式
对创建对象逻辑的封装,这种封装可以用来批量创建对象,所以叫工厂模式。例如Vue.component(),可以批量创建全局组件,就是工厂模式的实现。
观察者模式
监听被观察者的变化,发生变化时,通知所有观察者,有时也被称为发布订阅模式(比观察者模式多了一个调度中心),。例如监听事件的实现。
装饰器模式
对类的一个包装,动态扩展类的功能(实质是传入所修饰的类的一个函数,可以修改传入的类)。ES7的装饰器语法
适配器模式
将一个接口转换为客户希望的另一个接口,使接口不兼容的那些类可以一起工作。
代理模式
在访问者和目标之间加一层代理,通过代理做授权和控制。ES6的proxy就是这一模式的实现。
一些原则
单一职责原则:一个类只负责一个功能领域的响应职责,一个类,应该只有一个引起他变化的原因
开放封闭原则:软件实体(类,模块,函数等),扩展是开放的,修改是封闭的(可扩展,不能修改)。