谈谈设计模式
设计模式其实是比较抽象的概念,通过设计模式,在项目中应用可以提高代码更容易维护、以及复用性、可读性
-
单例模式
-
工厂模式
-
代理模式
-
发布订阅模式(观察者模式)
-
策略模式(适配器模式)
-
原型模式
单例模式
-
单例模式:确保只有一个实例,并提供一个全局访问点
类只需要创建一次实例
使用场景
可以使用单例模式,避免重复创建
- 1、资源共享
- 当需要在整个应用程序中共享某个资源
- 管理全局状态
- 2、弹出框
- 通过类的形式,创建一个弹框,然后每次打开这个弹框,都会去判断这个实例是否存在,如果存在就不会创建新的实例
- 3、消息提示
- 比如像如果多个接口同时报错情况下,正常情况下,如果多个接口报错,会弹出很多个错误提示,使用了这个单例模式的话,可以去控制,如果已经存在了错误提示的信息,就不需要再显示了
- 4、框架源码中,vuex也是使用到了单例模式
工厂模式
-
工厂模式主要用于创建对象,可以把创建对象的过程封装起来,避免重复代码,提高维护性
-
工厂起到的作用就是隐藏了创建实例的复杂度,只需要提供一个接口,使用的时候只需要传递一些参数,但是内部具体逻辑实现不需要关系的
发布-订阅模式
- 发布-订阅模式也叫做观察者模式
- 当对象发生改变时,订阅方都会收到通知
使用场景
-
vue的响应式原理中,也是用到了发布订阅模式
- 在
get访问的时候会进行依赖收集,当改变了对象的属性时,就会触发依赖更新
- 在
-
组件通信
- 发布订阅模式可以在不同组件之间通过事件来通信
策略模式
- 策略模式也叫做适配器模式
- 在实际中写代码中,策略模式用的比较多,用策略模式可以优化
if else代码,可以使代码可读性、灵活性、维护性更好