Observer Pattern 观察者模式

Observer Pattern (观察者模式)

定义:

《设计模式》中对Observer模式的意图是这样描述的:“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并且自动更新”。

The Observer Pattern defines a one-to-many relationship between a set of objects. When the state of one objects changes, all of its dependents are notified.

这个模式就好像是,报纸的发行方和报纸的订购者的关系,如下:

Publishers + Subscribers = Observer Pattern

Observer Pattern 观察者模式_第1张图片

上图中:

1.       用户1,2,3订阅了报社的报纸;

2.       报社出版新报纸后,就会给用户1,2,3邮寄新的报纸;

3.       用户3取消了报纸订购业务;

4.       报社出版新的报纸之后,依旧给用户1,2邮寄新的报纸,不会给用户3再寄报纸;

 

理解了publisher subscribers之后,理解监听者模式就不难了。只是我们在Observer模式中,两者分别叫做 SUBJECT OBSERVERS, 如下:

SUBJECT + OBSERVERS = Observer Pattern.

UML 图如下:

Observer Pattern 观察者模式_第2张图片

 

 

 

你可能感兴趣的:(Observer Pattern 观察者模式)