设计模式
所谓的设计模式,指的是,为了解决特定的问题,而制定的代码规范,代码书写方式
目的是为了 优化代码,减少冗余 提高代码的执行效率
单例模式
同一个构造函数生成的实例化对象,指向的都是同一个对象
防止生成重复的,冗余的对象
减少占用内存,提高执行效率
核心代码:
定义构造函数
定义一个变量
判断变量如果是原始值,使用构造函数,生成实例化对象,存储在变量中
如果不是原始值,一定存储的是实例化对象,不执行任何操作
return 变量
实际代码
变量 = (立即执行函数)()
立即执行函数中
定义构造函数
构造器中不定义属性和属性值
在执行方法时,输入参数即属性属性值
定义变量
返回值 是一个函数
这个函数中,执行判断
return 变量
组合模式
通过一个构造函数,执行所有实例化对象中的init入口函数
所谓的 一键启动
核心代码:
构造函数
构造体定义变量,数据类型为空对象或者空数组
方法1:
添加要一键启动的实例化对象
方法2:
循环遍历变量,执行存储的实例化对象中的init入口函数
观察者模式
解决 监听主体 状态发生改变,与之相关联的个体数据的更新
主体的状态改变,个体要做相关联的操作
在3阶段中,要通过vue等框架,以及双向数据绑定,来执行观察者模式
核心代码
创建一个对象
对象属性:消息盒子,存储要执行的事件类型和事件函数
on方法:向消息盒子添加事件类型和事件函数
判断,事件类型是否存在:
不存在,直接赋值 存储的事件函数,必须是数组的形式
消息盒子[事件类型] = [事件函数]
存在,直接在数组中新增事件函数
消息盒子[事件类型].push(事件函数)
emit方法:发布消息盒子中的事件类型和事件函数
判断,事件类型是否存在
不存在,执行return,终止函数
存在,循环遍历事件类型
再嵌套,循环遍历要发布的函数数组
如果 存储的事件函数,与要发布的事件函数相同
就执行函数
off方法:删除消息盒子中的事件类型和事件函数
判断,事件类型是否存在
不存在,执行return,终止函数
存在,循环遍历事件类型,找到与输入的事件函数,相同的函数,执行删除数组单元操作