详解前端框架中的设计模式(二) | 青训营

76 阅读2分钟

本篇继续介绍前端框架中的介绍观察者模式、单例模式这几个模式。

观察者模式(Observer Pattern):

它是一种行为型设计模式,用于在对象之间建立一对多的依赖关系。当一个对象的状态发生变化时,它将自动通知依赖于它的其他对象,并自动更新它们的状态。这种模式实现了对象之间的松耦合,使得它们可以独立地交互和变化。它有两个关键角色:主题(Subject)和观察者(Observer)。

  • 主题(Subject): 主题负责维护观察者对象,并提供添加、删除和通知观察者的方法。
  • 观察者(Observer): 观察者定义了更新方法,用于接收主题发出的通知。

这种模式的优点是主题和观察者之间可以独立变化,互不影响;它们遵循统一的接口,具有一致性;观察者可以在主题变化时接到实时通知,效率高。

但是他也存在一些缺点,例如:当有大量的观察者对象和频繁的状态变化,可能会影响系统的性能。当观察者对象之间存在相互依赖关系时,可能导致循环引用的问题。

单例模式(Singleton Pattern):

单例模式是一种创建型设计模式,它确保一个类只有一个实例存在,并提供一个全局的访问点来获取该实例。这里来介绍一下这种模式的实现要点:

  1. 私有化构造方法:将类的构造方法私有化,防止外部代码直接创建实例。
  2. 静态变量持有实例:在类内部创建一个静态变量来持有实例对象。
  3. 提供全局访问点:通过静态方法来获取单例实例,确保其他代码可以方便地获取到同一个实例对象。
  4. 延迟加载单例对象:在第一次调用获取实例的方法时才创建对象,实现延迟加载。
  5. 线程安全处理:采用加锁机制或其他线程安全措施来避免多线程环境下的并发问题。
  6. 防止序列化破坏单例:实现特殊的反序列化方法,确保反序列化过程中返回单例对象。