设计模式
一、什么是设计模式
- 总共有 23 种经典设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)
二、设计模式分类
1.创建型模式
- 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,
- 而不是使用 new运算符直接实例化对象。
- 这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
2.结构型模式
-
这些设计模式关注类和对象的组合
-
继承的概念被用来组合接口和定义组合对象获得新功能的方式
3.行为型模式
- 这些设计模式特别关注对象之间的通信
三、观察着模式
观察着模式通常也被叫做发布-订阅模式或者消息模式
官方解释:
当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,解决了主体对象与观察者之间功能的耦合,即一个对象状态改变给其他对象通知的问题
addEventListener 标准的 观察者模式
btn.addEventListener('click',function(){
console.log('被点击了')
})
- 上面这个就是有一个 无形的观察者 在观察着
btn
的一举一动 - 当我们点击这个
btn
的时候,就会执行对应的函数 - 我们也可以多绑定几个函数
- 说白了:观察者模式就是我们自己实现一个
addEventListener
的功能- 只不过
addEventListaner
只有固定的一些事件,而且只能给dom元素绑定 - 而我们自己写的可以随便绑定一个事件名称,自己选择触发时机而已。
- 只不过
四、单例模式
单例模式(Singleton Pattern)是 最简单常用的设计模式之一。
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
🚩 这种模式确保整个应用中只有单个对象存在
⭐️ 核心代码
封装实现
五、组合模式
组合模式,就是把几个构造函数的启动方式组合再一起然后用一个 ”遥控器“ 进行统一调用
-
准备一个组合模式的构造函数
-
组合模式构造函数把前面的几个功能组合起来