设计模式笔记之观察者模式

 时间:2026-04-24 10:21:51

1、观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,让他们能够自动更新自己。结构图如下。(PS: UML类图来自《大话设计模式》一书)

设计模式笔记之观察者模式

2、定义一个Watched接口,代表图中Subject角色,包含三个方法。

- attach: 用于添加观察者

- detach:用于移除观察者

- notifyWatchers: 出发通知到所有观察者

定义一个Watcher接口,代表图中Observer角色,包含一个方法。

- update:用于收到通知时动作

设计模式笔记之观察者模式

3、定义ConcreteWatcher类,实现Watcher接口。添加一个name属性。

设计模式笔记之观察者模式

4、定义ConcreteWatched类,实现Watched接口。添加一个List用于存放观察者Watcher。

设计模式笔记之观察者模式

5、定义测试方法,运行查看测试结果。

设计模式笔记之观察者模式

6、其实Java本身内置观察者模式的实现: java.util.Observable类和java.util.Observer接口,分别对应于Subject角色和Observer角色。我们只需要直接使用就好。

  • JAVA设计模式之观察者模式
  • php的观察者模式
  • 设计模式之工厂模式
  • 我的世界如何制作观察者
  • 我的世界怎么制作观察者陷阱
  • 热门搜索
    残垣断壁的意思 三火一木念什么 t和p是什么意思 龙珠超什么时候更新 煲机是什么意思 绝的意思 得了痔疮有什么症状 成人大学有什么用 什么叫手自一体 肮脏的意思