🍆 观察者模式

吞佛童子2022年6月20日
  • 设计模式
  • 行为型
  • 观察者模式
大约 4 分钟

🍆 观察者模式

1. 概述

1) 是什么

  • 当一个对象(subject)的状态发生改变时,已经登记的观察者(observer)能够观察到这一改变从而作出自己相对应的改变
  • 观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象
  • 这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己
  • 主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者
  • 例如:登录事件完成后,发送短信 & 发送 Email 等事件监听到之后,执行各自处理逻辑

2) 优点

3) 缺点


2. 代码示例

1) 场景 & 目标

  1. 在某次,大楚所在新舰和火虫、输灵主、袭击者、岿灵主、雪域使所在伪霸舰队 被战争机器捕获,
  2. 它们需要听从新舰命令,并作出相应对策
  3. 目标:新舰命令
  4. 观察者:
  • 大楚所在新舰和火虫
  • 输灵主
  • 袭击者
  • 岿灵主
  • 雪域使所在伪霸舰队

2) 代码示例


3. 应用

1) ApplicationListener

  • 在Spring中有一个ApplicationListener,采用观察者模式处理,ApplicationEventMulticaster作为主题,里面有添加,删除,通知等
  • spring的事件驱动模型使用的是 观察者模式 ,Spring中Observer模式常用的地方是listener的实现
上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou