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

 时间:2026-02-12 16:17:32

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的观察者模式
  • 设计模式之工厂模式
  • 我的世界如何制作观察者
  • 我的世界怎么制作观察者陷阱
  • 热门搜索
    锰钢属于什么材料 烟波浩渺的意思 空前绝后的意思 湿漉漉的意思 善的意思 欢乐豆有什么用 p站是什么意思啊 羊和什么生肖相冲 津津有味是什么意思 村居古诗的意思