前端设计模式应用 | 青训营笔记

50 阅读1分钟

“这是我参与「第四届青训营 」笔记创作活动的第3天

什么是设计模式?

  • 历史经验总结
  • 无关特定编程语言

分类:

  • 创建型(如何创建一个对象)
  • 结构型(如何灵活组装对象)
  • 行为型(对象间的高效通信与职责划分)

浏览器中的设计模式

单例模式

定义:全局唯一访问的对象 应用场景:全局状态管理、缓存

image.png

image.png

发布订阅模式

定义:是一种订阅机制,可在被订阅对象发生变化时通知订阅者 应用场景:解耦、订阅功能实现等

js中的设计模式

  • 原型模式(复制已有对象来创建新的对象
    • 应用场景:js对象的基本创建
  • 代理模式(可自定义控制对于原对象的访问方式,并且允许在更新前后做一些处理,尽量符合单一职责原则
    • 应用场景:前端框架、代理工具、监控
  • 迭代器模式(在不暴露数据类型的情况下访问集合中的数据,比如for of迭代
    • 应用场景:提供对于多种数据类型的操作接口

原型模式发布订阅

image.png

image.png

代理模式发布订阅

image.png

image.png

前端框架中的设计模式

  • 代理模式
  • 组合模式(可多个对象组合使用,也可以单个对象独立使用
    • 应用场景:DOM、组件、文件目录等

总结:设计模式只是一些经验的总结,可以提供思路上的一些参考,但是要把抽象的模式应用到实际 场景比较困难。现代编程语言具备更多的可能性。