这是我参与「第五届青训营」笔记创作活动的第9天。
本笔记对应的是青训营关于前端设计模式的应用部分知识。
1 课程内容概括
设计模式是指在软件设计种常见问题的解决方案模型,它是针对历史经验的总结,无关与特定语言,因此涉及模式是软件开发人员必须了解的知识,本节课程针对前端中使用的设计模式做出了介绍。
2 设计模式的背景
1.模式语言:城镇、建筑、建造
2.《设计模式:可复用面向对象软件的基础》 GoF书
3 设计模式的分类
GoF书有23种设计模式,包括创建型、结构型、行为型。
创建型:如何创建一个对象。
结构型:如何灵活地将对象组装成较大的结构
行为型:负责对象间的高效通信和职责划分。
4 浏览器中的设计模式
1.单例模式
全局唯一访问对象,用于缓存、全局状态管理等。
2.发布订阅模式
该模式提供一种订阅机制,在被订阅对象发生变化时通知订阅者。用于系统架构种的解耦,也可以用作邮件订阅、上线订阅等业务种的实现模式。
5 JS中的设计模式
1.原型模式
通过复制已有对象,创建新对象。是JS对象创建的基本模式。
2.代理模式
自定义控制原对象的访问方式,并可以支持在更新前后做额外处理。可用于监控、代理工具、前端框架实现等。
3.迭代器模式
在不暴露数据类型的情况下,访问集合中的数据。可以用于数据结构中,提供通用操作接口。
6 前端框架中的设计模式
1.代理模式
Vue组件
2.组合模式
React组件结构
7 总结与思考
本笔记涉及到设计模式的内容,设计模式可以提高代码质量,但设计模式不是银弹,将设计模式应用于具体场景中,有一定难度,在学习时可以通过优秀开源项目学习设计模式,并在实际开发中适当地应用设计模式。