您的位置:首页 > 其它

设计模式之观察者模式

2015-12-20 15:38 204 查看
定义:

观察者模式又称为发布-订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

角色:

抽象通知者(Subject):把所有对观察者的引用保存在一个聚集里,每个通知者都可以有任意数量的观察者。抽象观察者一般用一个抽象类或接口实现,同时有增加和删除观察者对象的方法。

具体通知者:将有关状态存入具体观察者对象,在具体通知者的内部状态改变时,通知所有保存引用的观察者。

抽象观察者(Observer):为所有的具体观察者定义一个接口,在得到通知者的通知时,更新自己。抽象观察者一般用一个抽象类或接口实现,包含一个更新方法Update()。

具体观察者:实现抽象观察者所要求的接口,以便使本身的状态与通知者的状态相协调。

UML图:



总结:

当一个对象的改变需要同时改变其他很多对象(对象数量不定)时,应该考虑使用观察者模式。观察者模式所做的工作是在解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体,从而是的各自的变化都不会影响另一边的变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: