一.单例模式
1.概念:单独只生成一个实例化对象
2.解决痛点:同一个构造函数,生成同一个实例化对象,防止重复实例化对象
3.原理:判断这个构造函数是否使用过,如果没有使用过就执行构造函数,生成实例化对象,如果使用过,返回之前的对象
4.核心代码:执行单例模式,为了不产生全局变量污染,使用闭包将变量和构造函数,都定义在函数中,作为局部作用域保护起来
二.组合模式
1.概念:通过一个“遥控器”控制所有入口函数的执行
2基本思路:将所有需要执行的入口函数,写入到数组中,通过循环遍历,来执行数组中的所有入口函数
三.观察者模式(发布—订阅模式,消息模式)
1.概念:主体对象转态改变,所有依赖主体的相关个体发生调整
一般要与框架和双向数据绑定结合使用
2.部分操作:
观察者模式分为5个部分
1,主体对象
2,主体属性–消息盒子,存储执行类型和执行内容
可以是对象,也可以是数组
3,on方法,向消息盒子中,写入需要执行的类型和内容
步骤:
3-1:判断消息盒子中,是否有这个类型
有这个类型:使用push()方法,向类型中存储的数组,新增单元
没有这个类型:向消息盒子中,新增类型,并且存储一个数组
4,off方法:删除稍息盒子中,写入的执行内容
步骤
4-1:判断消息盒子中,是否有这个类型
有这个类型:删除类型中,符合参数的内容
为了防止数组坍塌,要添加i–
没有这个类型:直接执行return
5,emit方法:发布消息盒子中的类型和内容
参数1 是 类型
参数2 …arr 合并运算符
将第一个参数之后的所有实参,以数组的形式存储
3.基本代码