单例模式
- 限制类实例化次数只能一次,一个类只有一个实例,并提供一个访问它的全局访问点。
- 比如:window对象、document对象、vuex的store
工厂模式
- 不暴露创建对象的具体逻辑,而是将逻辑封装在一个函数中,根据不同的输入返回不同的实例,一般用来创建同一类对象
- 比如:创建对象的工厂函数方法
代理模式
- 为一个对象找一个替代对象,以便对原对象进行访问。
比如:vue使用proxy代理对象,实现对原对象的访问控制
观察者模式
- 定义了对象间一种一对多的依赖关系,当目标对象 Subject(主题) 的状态发生改变时,所有依赖它的对象 Observer(观察者) 都会得到通知。
- 比如:js中的事件方式
发布/订阅模式
- 是对象中的一种一对多的依赖关系,当一个对象触发一个事件的时候,所有订阅该事件的对象将得到通知。该模式比观察者模式多了中间层的“第三者”—调度中心,由调度中心派发消息给所有订阅者
- 比如:Vue EventBus中的 $on 和 $emit 方法
网友评论