设计模式——14. 观察者模式

1. 说明

观察者模式(Observer Pattern)是一种行为型设计模式,用于定义对象之间的一对多依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都能够自动收到通知并更新自己的状态,以保持与被观察对象的同步。观察者模式也被称为发布-订阅模式。

观察者模式包含以下关键角色:

  1. Subject(被观察者):Subject 是被观察对象,它维护一组观察者对象,并提供方法来添加、删除和通知观察者。当 Subject 的状态发生改变时,它会通知所有注册的观察者。
  2. Observer(观察者):Observer 是观察者对象,它定义了一个更新方法(通常命名为 update),用于接收被观察对象的通知并执行相应的操作。多个观察者可以订阅同一个被观察者。
  3. ConcreteSubject(具体被观察者):ConcreteSubject 是具体的被观察对象,它实现了 Subject 接口,负责维护状态并在状态发生改变时通知观察者。
  4. ConcreteObserver(具体观察者):ConcreteObserver 是具体的观察者对象,它实现了 Observer 接口,并定义了在接收到通知时要执行的具体操作。

观察者模式的优点包括:

  • 解耦性:被观察者和观察者之间的关系是松散耦合的,它们可以独立变化,不会相互影响。
  • 可扩展性:可以方便地添加新的观察者,无需修改被观察者的代码。
  • 通知机制:当被观察者的状态发生改变时,所有注册的

你可能感兴趣的:(设计模式大全,设计模式,观察者模式,java,python,golang,c++,javascript)