“这是我参与「第四届青训营 」笔记创作活动的第3天
什么是设计模式?
- 历史经验总结
- 无关特定编程语言
分类:
- 创建型(如何创建一个对象)
- 结构型(如何灵活组装对象)
- 行为型(对象间的高效通信与职责划分)
浏览器中的设计模式
单例模式
定义:全局唯一访问的对象 应用场景:全局状态管理、缓存
发布订阅模式
定义:是一种订阅机制,可在被订阅对象发生变化时通知订阅者 应用场景:解耦、订阅功能实现等
js中的设计模式
- 原型模式(复制已有对象来创建新的对象
- 应用场景:js对象的基本创建
- 代理模式(可自定义控制对于原对象的访问方式,并且允许在更新前后做一些处理,尽量符合单一职责原则
- 应用场景:前端框架、代理工具、监控
- 迭代器模式(在不暴露数据类型的情况下访问集合中的数据,比如for of迭代
- 应用场景:提供对于多种数据类型的操作接口
原型模式发布订阅
代理模式发布订阅
前端框架中的设计模式
- 代理模式
- 组合模式(可多个对象组合使用,也可以单个对象独立使用
- 应用场景:DOM、组件、文件目录等
总结:设计模式只是一些经验的总结,可以提供思路上的一些参考,但是要把抽象的模式应用到实际 场景比较困难。现代编程语言具备更多的可能性。