java设计模式(二十)观察者模式

目录

  • 定义
  • 模式结构
  • 角色职责
  • 代码实现
  • 适用场景
  • 优缺点

定义

观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。

模式结构

java设计模式(二十)观察者模式_第1张图片

角色职责

1.抽象目标类(Subject):它用一个列表记录当前目标对象有哪些观察者对象,并提供增加、删除观察者对象和通知观察者对象的接口。
2.具体目标类(ConcreteSubject):一个目标对象就是某个具体目标类的对象,一个具体目标类负责定义它自身的事务逻辑,并在状态改变时通知它的所有观察者对象。
3.抽象观察者类(Observer):它为所有的观察者对象都定义了一个名为update的方法(也叫成员函数)。当目标对象的状

你可能感兴趣的:(设计模式,java,设计模式,观察者模式)