DAY7 学习笔记(前端设计模式应用) | 青训营

67 阅读2分钟

一、什么是设计模式

设计模式是在软件开发中,经验丰富的开发者们总结出来的解决特定问题的设计方案。它们提供了一种结构化的方法来解决常见的设计问题,可以帮助开发人员编写可维护、可扩展和可重用的代码。

二、浏览器中的设计模式

1. 单例模式

  • 定义:单例模式确保一个类只有一个实例,并提供一个全局访问点来访问该实例。

  • 应用场景:浏览器中的某些对象只需要存在一个实例,例如全局缓存、全局状态管理等。单例模式使得浏览器中的各个部分可以共享和操作同一个实例。

2.发布订阅模式

  • 定义:发布订阅模式是一种订阅机制,在被订阅对象发生变化时通知订阅者。

  • 应用场景:浏览器中的不同组件之间需要进行通信和数据交换。发布订阅模式广泛应用于解耦系统架构、业务中的一些实现模式,如邮件订阅、上线订阅等。

三、JavaScript中的设计模式

1. 原型模式:

  • 定义:原型模式使用已有对象作为原型来创建新的对象。

  • 应用场景:原型模式是JavaScript中对象创建的基本模式,用于创建对象的副本,而不是从头开始创建。

2. 代理模式:

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

  • 应用场景:代理模式在监控、代理工具和前端框架等方面有广泛应用,用于控制对原对象的访问和添加额外逻辑。

3. 迭代器模式:

  • 定义:迭代器模式提供一种在不暴露数据类型的情况下访问集合中的数据的方法。

  • 应用场景:迭代器模式适用于数据结构中有多种数据类型的情况,如列表、树等,提供通用的操作接口。

四、前端框架中的设计模式:

1. 代理模式:

  • 定义:代理模式用于控制对原对象的访问,并且允许在更新前后添加一些额外的逻辑。

2. 组合模式:

  • 定义:组合模式允许多个对象组合使用,也可以独立使用。

  • 应用场景:组合模式在DOM操作、前端组件、文件目录、部门等方面有广泛应用,用于组合和管理多个对象。