一、定义

  • 观察者模式又名监听器模式、发布-订阅模式、从属模式、模型-视图模式,它是行为模式的一种
  • 当对象存在一对多关系时,让多个对象同时监听某一个对象主题时,当这个对象的主题发生变化时,会通知所有的观察者。

    二、优缺点

  • 优点:

观察者与被观察者是抽象耦合的
建立一套触发机制

  • 缺点:

如果一个被观察者有很多直接或者间接的观察者的话,通知到所有观察者会花费很多时间
如果观察者与被观察者之间存在循环依赖的话,会造成系统崩溃
被观察查者只能接收到主题变化,并不知道主题是如何变化的

三、参与角色

事件源及事件
监听者
监听者与事件得关系
分发

四、实现方式

同步阻塞
异步非阻塞

五、代码实现

六、应用

https://www.jianshu.com/p/884f212f5327
生产者消费者