Design Pattern - Observer Pattern (设计模式 - 观察者模式)

什么是Observer Pattern?

在一个系统中,有一个对象接收数据,其他若干对象监听来自这个对象数据的变化的这种情况可以使用design pattern,

接受数据的这个对象我们称为 发送者 publisher; 监听变化的对象我么称为 观察者 observer。


稍微具体的例子


有一个天气的基站会接受来自三个不同感应器的数据,每当 weather 数据被改变时,weather obj就会更新 display device 的数据。注意,这里面的display device可以是很多个不同的 device。

Design Pattern - Observer Pattern (设计模式 - 观察者模式)_第1张图片


A是猎头,B和C是委托猎头的求职者; 每当A有工作信息的时候他就会通知B和C;当B找到工作之后B就和A断了联系,因为他不在需要监听来自A的信息。

Design Pattern - Observer Pattern (设计模式 - 观察者模式)_第2张图片


例子1 的类图

Design Pattern - Observer Pattern (设计模式 - 观察者模式)_第3张图片

代码实现

华哲的git git

运行结果展示

Design Pattern - Observer Pattern (设计模式 - 观察者模式)_第4张图片


有问题欢迎指出。


你可能感兴趣的:(Java,算法&数据结构,设计模式,in,Java)