目录
设计模式13-1.PNG1.模式说明
-
定义对象间的一种一对多的依赖关系;
-
当1个对象的状态发生改变时,所有依赖于它的对象都将得到通知 & 自动更新对应操作。
又称:发布/订阅模式
2.解决的问题
常变对象与不常变对象之间存在依赖关系的前提下,不常变对象需随常变对象经常改变逻辑的问题。即解耦常变对象与不常变对象之间的依赖关系。
如:常变的UI层与基本不变的具体业务逻辑。
3.生活例子引入
用一个生活例子引入 & 讲解 观察者模式的原理: 顾客到饭店吃饭。
设计模式13-2.PNG 设计模式13-3.PNG4.原理介绍
4.1 UML类图说明
观察者模式中有4个角色。
设计模式13-4.PNG 设计模式13-5.PNG注:Java API有内置的观察者模式类:java.util.Observable类和java.util.Observer接口。
对应: Subject和Observer 的角色。
4.2 具体原理说明
请结合上述顾客到饭店吃饭的生活例子理解:
设计模式13-6.png 设计模式13-7.png即可总结为:被观察者(Observable)通过订阅(Subscribe)按顺序发送事件给观察者(Observer), 观察者(Observer)按顺序接收事件 & 作出对应的响应动作。具体如下图:(类似流水线般流动 & 处理。)
设计模式13-8.png至此,设计模式中的观察者模式(Observer)讲解完毕。
5.总结
本文对观察者模式(Observer)的进行了全面介绍。
网友评论