java程序设计开发,设计思想开源框架-行为型模式之观察者模式,定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。
观察者模式学习笔记
一、观察者模式概述
定义:
观察者模式(Observer Pattern)是一种行为型设计模式,定义对象间的一对多依赖关系。当一个对象(主题)的状态发生改变时,所有依赖于它的对象(观察者)都会自动收到通知并更新,实现状态变化的自动传播。
核心思想:
通过解耦 “主题” 和 “观察者”,使主题专注于状态管理,观察者专注于响应逻辑。主题与观察者之间通过抽象接口交互,支持动态添加 / 删除观察者,符合开闭原则。
二、核心角色
- 主题接口(Subject)
- 定义注册、删除观察者和通知观察者的方法(如
registerObserver
、removeObserver
、notifyObservers
)。
- 定义注册、删除观察者和通知观察者的方法(如
- 具体主题(Concrete Subject)
- 实现主题接口,维护观察者列表,当自身状态变化时调用
notifyObservers
通知所有观察者。
- 实现主题接口,维护观察者列表,当自身状态变化时调用
- 观察者接口(Observer)
- 定义接收通知的方法(如
update
),确保所有观察者具有统一的更新接口。
- 定义接收通知的方法(如
- 具体观察者(Concrete Observer)
- 实现观察者接口,定义收到通知后的具体行为(如更新显示、触发业务逻辑