这是我参与「第四届青训营 」笔记创作活动的第1天
一、什么是设计模式?
简单来说,设计模式是对软件设计开发过程中反复出现的某类问题的通用解决方案模型
设计模式的类型
前端设计模式一共有23种,这23种又分为三大类
- 创建型模式 — 处理对象的创建,根据实际情况用合适的方法进行对象的创建
- 结构型模式 — 如何灵活的将对象组装侧好难过较大的解构
- 行为型模式 — 负责对象之间常见的交互模式并加以实现
前端场景下的设计模式
前端场景下的设计模式一般指浏览器的设计模式
- 单例模式
顾名思义,单例模式中Class的实例个数最多为1。当需要一个对象去贯穿整个系统执行某些任务时,单例模式就派上了用场。
- 发布/订阅模式
发布/订阅模式就相当于Dom事件中的双向绑定事件一样,当被订阅的状态改变时,通过调用订阅者的方法来通知订阅者发生了改变,这个模式在生活中运用十分广泛
javascript中的设计模式
- 原型模式
原型模式是指用一个实例对象来创建一个原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。
- 优点:性能优良,拷贝效率高
- 缺点:拷贝在内存中进行,构造函数不执行
- 代理模式Proxy
一切实物皆可代理,代理模式可以帮你实现由于你缺少时间或者专业技能五无法完成的事物,可以增加对对象的访问控制
- 迭代器模式
迭代器模式可以在不暴露数据类型的情况下进行遍历,主要应用于数据遍历
小结
以上就是前端一些常用的设计模式和我的一些理解,常见设计模式的熟练运用能为我们代码的编写起到良好作用,让我们一起把设计模式学起来吧!