JavaScript 和前端框架中的设计模式 | 青训营笔记

87 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第11天

一、本节课重点内容

本节课将围绕 JavaScript 和其他前端框架中的设计模式展开,其中,将重点讲解 JavaScript 中的原型模式、代理模式、迭代器模式,在前端框架中设计模式介绍上,则是围绕代理模式和组合模式展开。

本节课课程重点为:

  1. JavaScript 三大设计模式
  2. 前端框架中的设计模式

JavaScript中的设计模式:

  1. 原型模式
  2. 代理模式
  3. 迭代器模式

二、详细知识点介绍

原型模式:

定义: 复制已有对象来创建新的对象

应用场景: JS中对象创建的基本模式 image.png image.png 代理模式:

定义: 可自定义控制对原对象的访问方式,并且允许在更新前后做一些额外的处理;

应用场景: 监控,代理工具,前端框架实现等等,在我们的日常生活中与学习生活中可以对其进行一些的处理与运用;

使用代理模式实现用户状态订阅: image.png

image.png 迭代器模式: image.png 用for of迭代所有组件: image.png image.png image.png 树状结构,在js中可以提供一个迭代器模式。

前端框架中的设计模式:

  1. 代理模式;
  2. 组合模式:

前端框架中对DOM操作的代理: image.png

组合模式:

定义: 可多个对象组合使用,可也单个对象独立的进行使用;

应用场景: DOM, 前端组件,文件目录,部门;

设计模式不是银弹: 总结出抽象的模式相对比较简单,但是想要将抽象的模式套用到场景中却非常困难,现代编程语言的多编程范式带来的更多可能性,真正优秀的开源项目学习设计模式并不断实践。

三、总结

结合课程与网络资料,设计模式可以帮助开发者更好地管理代码,并且可以更容易地重构和重用代码。此外,它们还可以帮助开发者更好地理解代码,以便更好地控制代码的复杂性。 我对JavaScript 和前端框架中的设计模式做出如下规则总结:

  1. 工厂模式:工厂模式是一种创建型设计模式,它重点关注于如何创建对象。它使用一个函数来创建对象,这个函数可以接受参数,并返回一个新的对象。
  2. 模块模式:模块模式是一种结构模式,它将代码组织到一个独立的模块中,以便更容易维护和重用。模块模式使用闭包来隐藏模块内部的状态和实现细节,同时公开一组接口,以便外部代码可以访问和操作模块内部的状态。
  3. 单例模式:单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点访问它。它确保一个类只有一个实例,并且提供一个全局访问点访问它。
  4. 观察者模式:观察者模式是一种行为模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这样,当主题对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。