🍆 观察者模式
2022年6月20日
- 设计模式
🍆 观察者模式
1. 概述
1) 是什么
- 当一个对象(subject)的状态发生改变时,已经登记的观察者(observer)能够观察到这一改变从而作出自己相对应的改变
- 观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象
- 这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己
- 主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者
- 例如:登录事件完成后,发送短信 & 发送 Email 等事件监听到之后,执行各自处理逻辑
2) 优点
3) 缺点
2. 代码示例
1) 场景 & 目标
- 在某次,大楚所在新舰和火虫、输灵主、袭击者、岿灵主、雪域使所在伪霸舰队 被战争机器捕获,
- 它们需要听从新舰命令,并作出相应对策
- 目标:新舰命令
- 观察者:
- 大楚所在新舰和火虫
- 输灵主
- 袭击者
- 岿灵主
- 雪域使所在伪霸舰队
2) 代码示例
3. 应用
1) ApplicationListener
- 在Spring中有一个ApplicationListener,采用观察者模式处理,ApplicationEventMulticaster作为主题,里面有添加,删除,通知等
- spring的事件驱动模型使用的是 观察者模式 ,Spring中Observer模式常用的地方是listener的实现