这是我参与「第四届青训营 」笔记创作活动的第3天
设计模式是什么?
设计模式是应对于特定问题的一种常见的解决方案
- 它与特定的语言无关
- 一般是由前辈们经验总结,具有一定的普遍性
我们在使用时最重要的是理解其中的思想。
设计模式背景与趋势
23种设计模式
三种类型:创建型,结构性,行为型
浏览器中的设计模式:
单例模式
定义:全局唯一访问对象
应用场景:全局缓存全局状态管理
发布订阅模式(观察者模式)
一种订阅机制,可在被订阅对象变化时通知订阅者(订阅者有可能是一个函数)
应用场景:vue通信机制,邮件订阅等等
JS中的设计模式:
原型模式
定义:复制已有对象来创建新的对象
应用场景:JS中对象创建的基本模式
代理模式
定义:可自定义控制对原对象的访问方式,并允许在更新前后做一些额外处理
应用场景:前端监控,代理工具,前端框架
迭代器模式
定义:在不暴露数据类型的情况下访问集合中的数据
应用场景:数据结构中的数据类型、树、列表等
前端框架中的设计模式:
代理模式:
给原类添加非功能性需求,为了将代码与原业务解耦。
组合模式:
可多个对象组合使用,也可单个对象独立使用
应用场景:DOM,前端组件,文件目录等。
总结:
设计模式这类的知识非常丰富,需要多次复习强化记忆,在平常使用时不能死搬硬套,要活学活用,学以致用,理解其中思想并加以实践