一、定义
- 观察者模式又名监听器模式、发布-订阅模式、从属模式、模型-视图模式,它是行为模式的一种
当对象存在一对多关系时,让多个对象同时监听某一个对象主题时,当这个对象的主题发生变化时,会通知所有的观察者。
二、优缺点
优点:
观察者与被观察者是抽象耦合的
建立一套触发机制
- 缺点:
如果一个被观察者有很多直接或者间接的观察者的话,通知到所有观察者会花费很多时间
如果观察者与被观察者之间存在循环依赖的话,会造成系统崩溃
被观察查者只能接收到主题变化,并不知道主题是如何变化的
三、参与角色
事件源及事件
监听者
监听者与事件得关系
分发
四、实现方式
同步阻塞
异步非阻塞