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

57 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第1天 作为前端开发者,众所周知,前端设计模式是在软件开发中非常重要的一环。

image.png 在中国,从其词频可看出,前端设计模式的热度在逐步升高。 所以今天我们就来了解一下前端设计模式这一块内容。

设计模式主要分为3个类型:

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

而对于浏览器中的设计模式主要有

  1. 单例模式

在面向对象编程中,我们一定需要创建若干个类的若干个实例。但是有的时候我们对于某些类只需要一个实例,我们并不需要再创建,那么我们就需要用到单例模式。我们在浏览器中需要一些全局唯一访问对象,代表缓存或者全局状态管理等,这时就需要用单例模式来构建这类唯一的对象。具体表现在:我们给一个类设置私有的构造函数,确保外部其他模块不会创建新的实例,然后再用GetInstance方法获取其引用。

  1. 发布订阅模式。

是一种类似于订阅机制的设计模式:每个用户都有各自订阅的东西,互不打扰。这就需要我们系统之间的耦合度足够低,一个用户的操作对另一个用户没有任何的影响。一般都用在类似的订阅服务中。

对于JavaScript中的设计模式

  1. 原型模式

通过复制已经有的对象来创建新的对象。就是JS中创建对象中最基本的模式。

  1. 代理模式

为其他对象提供一种代理以控制对这个对象的访问。这样做就可以自定义控制对原对象的访问方式,并且允许在更新前后做一些额外处理。

  1. 迭代器模式

迭代器模式就是我们可以在遍历一个聚合对象中的所有实例的时候,可以通过一个统一的接口,而不需要对于每一个聚合对象(如数组、链表等)进行专门的修改,也可以在不暴露数据类型的情况下访问集合中的数据。