介绍:
观察者模式是一个使用率非常高的模式,它最常用的地方是gui系统、订阅--发布系统。因为这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得他们之间的依赖性更小,甚至做到毫无依赖。
定义:
定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
观察者:
image.png
被观察者:
image.png
client:
image.png
image.png
观察者基类:
image.png
被观察者基类:
image.png
guan'cha
通过查看被观察者和观察者基类,我们不难发现被观察者通过维护一个数组来维护所有观察者对象,通过标志位和调用观察者的onupdate方法来通知数组内的所有观察者。从而实现订阅发布的观察者模式。
网友评论