观察者模式结构

观察者模式(Observer)又称发布-订阅模式(Publish-Subscribe:Pub/Sub),它是一种通知机制。

  1. 发布者 (Publisher) 向对应的订阅者发送事件,发布者内部有一个订阅者列表的数据结构,支持添加和移除订阅者。
  2. 订阅者 (Subscriber) 声明了通知接口。 在绝大多数情况下, 该接口仅包含一个方法,用来处理发布的事件。
  3. 具体订阅者 (Concrete Subscribers) 具体订阅者类实现了订阅者的接口,不同事件的处理逻辑。
  4. 事件(Event)声明了事件接口。一个标识接口,标识是一个事件。
  5. 具体事件(Concrete Event)具体事件,当事件通过发布者去发布的时候,发布者会遍历订阅列表执行对应的订阅者的方法。

订阅者也叫观察者,被观察者就是发布的具体事件。在消息队列中,利用了发布-订阅模式工作,被观察者对应消息发送者(生产者),订阅者对应的是消费者。消息队列中内部有发布者的功能,订阅者将自己注册到里面,可以接收对应的系统发送的消息。 参考代码