本篇继续介绍前端框架中的介绍观察者模式、单例模式这几个模式。
观察者模式(Observer Pattern):
它是一种行为型设计模式,用于在对象之间建立一对多的依赖关系。当一个对象的状态发生变化时,它将自动通知依赖于它的其他对象,并自动更新它们的状态。这种模式实现了对象之间的松耦合,使得它们可以独立地交互和变化。它有两个关键角色:主题(Subject)和观察者(Observer)。
- 主题(Subject): 主题负责维护观察者对象,并提供添加、删除和通知观察者的方法。
- 观察者(Observer): 观察者定义了更新方法,用于接收主题发出的通知。
这种模式的优点是主题和观察者之间可以独立变化,互不影响;它们遵循统一的接口,具有一致性;观察者可以在主题变化时接到实时通知,效率高。
但是他也存在一些缺点,例如:当有大量的观察者对象和频繁的状态变化,可能会影响系统的性能。当观察者对象之间存在相互依赖关系时,可能导致循环引用的问题。
单例模式(Singleton Pattern):
单例模式是一种创建型设计模式,它确保一个类只有一个实例存在,并提供一个全局的访问点来获取该实例。这里来介绍一下这种模式的实现要点:
- 私有化构造方法:将类的构造方法私有化,防止外部代码直接创建实例。
- 静态变量持有实例:在类内部创建一个静态变量来持有实例对象。
- 提供全局访问点:通过静态方法来获取单例实例,确保其他代码可以方便地获取到同一个实例对象。
- 延迟加载单例对象:在第一次调用获取实例的方法时才创建对象,实现延迟加载。
- 线程安全处理:采用加锁机制或其他线程安全措施来避免多线程环境下的并发问题。
- 防止序列化破坏单例:实现特殊的反序列化方法,确保反序列化过程中返回单例对象。