JavaScript 面试题
目录

JavaScript 中常用的设计模式有哪些?

· 约 13 分钟读完 · 第 486 / 507 章

推荐答案

在 JavaScript 中,常用的设计模式包括但不限于以下几种:

  1. 单例模式(Singleton Pattern)
  2. 工厂模式(Factory Pattern)
  3. 观察者模式(Observer Pattern)
  4. 发布-订阅模式(Publish-Subscribe Pattern)
  5. 策略模式(Strategy Pattern)
  6. 代理模式(Proxy Pattern)
  7. 装饰器模式(Decorator Pattern)
  8. 适配器模式(Adapter Pattern)
  9. 模块模式(Module Pattern)
  10. 命令模式(Command Pattern)

本题详细解读

1. 单例模式(Singleton Pattern)

单例模式确保一个类只有一个实例,并提供一个全局访问点。在 JavaScript 中,可以通过闭包或模块模式实现单例。

2. 工厂模式(Factory Pattern)

工厂模式提供了一种创建对象的方式,而无需指定具体的类。它通常用于创建复杂的对象。

3. 观察者模式(Observer Pattern)

观察者模式定义对象间的一对多依赖关系,当一个对象改变状态时,所有依赖它的对象都会收到通知并自动更新。

4. 发布-订阅模式(Publish-Subscribe Pattern)

发布-订阅模式是观察者模式的一种变体,它使用一个中介(通常称为事件总线)来管理事件的发布和订阅。

5. 策略模式(Strategy Pattern)

策略模式定义了一系列算法,并将每个算法封装起来,使它们可以互换。策略模式让算法的变化独立于使用算法的客户。

6. 代理模式(Proxy Pattern)

代理模式为其他对象提供一个代理或占位符,以控制对这个对象的访问。

7. 装饰器模式(Decorator Pattern)

装饰器模式允许向一个现有的对象添加新的功能,同时又不改变其结构。

8. 适配器模式(Adapter Pattern)

适配器模式将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。

9. 模块模式(Module Pattern)

模块模式用于创建私有和公共封装的方法和变量,防止污染全局命名空间。

10. 命令模式(Command Pattern)

命令模式将请求封装为对象,从而使你可以用不同的请求对客户进行参数化。