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

63 阅读2分钟

前端设计模式

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

1.重点内容

在真实的业务场景中,前端开发人员需要在开发的过程中时刻想着设计模型的实现。而近年来随着设计模型的不断深入和理解。作为青训营的同学也有需求了解什么是设计模型。

2.重要的知识点

  • 什么是设计模型?
  • 设计模式的背景
  • 设计模式
  • 浏览器中的设计模式
  • JavaScript中的设计模式

3.详尽的知识点

什么是设计模型?

设计模型就是在软件设计过程中,常见问题的解决方案模型。

解决方案模型的特点

  • 历史经验的总结
  • 与特定的语言无关

设计模式的背景

  1. 模式语言:城镇、建筑、建造(1977)
  2. 设计模式:可复用面向对象软件的基础(1994)

设计模式

  • 创建型 如何创建一个对象
  • 结构型 如何灵活的将对象组装成较大的结构
  • 行为型 负责对象间的高效通信和职责划分

浏览器中的设计模式

  • 单例模式

    • 全局唯一的访问对象(Windows对象)
    • 常用于缓存,全局状态管理
  • 发布订阅模式

    • 一种订阅机制,可在被订阅对象发生变化时通知订阅者
    • 常用于系统架构之间的解耦,真实业务中的实现模式

JavaScript中的设计模式

  • 原型模式

    • 复制已有的对象来创建新的对象
    • 这是JavaScript中对象创建的基本模式
  • 代理模式

    • 可自定义控制对原对象的访问方式
    • 常用于监控,代理工具,前端框架实现等
  • 迭代器模式

    • 在不暴露数据类型的情况下访问集合中的数据
    • 常用于数据类型中有多种数据类型,此时可以使用迭代器模型提供通用的操作接口

前端框架中的设计模式

  • 代理模式

    • 更改DOM属性,更新虚拟DOM后和原来的视图做Diff操作,最后更新视图
  • 组合模式

    • 可以多个对象组合使用,也可以对单个对象独立使用
    • 常用于DOM,前端组件,文件目录等

4.课后总结

设计模式不是万能的,总结出抽象的模型比较简单,但是想要将抽象的模式真正使用到场景中非常困难。同时现代编程语言的发展,让多编程范式带来更多的可能性。

因此作为前端开发人员,需要不断学习优秀的开源项目来提高自己学习设计模式的能力。