设计模式-02-观察者模式
观察者模式,顾名思义,就是有人在做,有人在看。所以,观察者模式涉及到两个群体,观察者和被观察者,比如说订阅新闻,某网站提供新闻拱客户阅读,只要客户订阅了该网站新闻,每当网站提供新的新闻素材时,就会通知客户,客户收到相应通知后更新新闻列表,如果客户取消订阅,那么网站有更新时,客户就不会收到新闻,这里网站就是被观察者,客户就是观察者,他们以及他们之间的订阅关系构成了观察者模式的一个例子。
定义:观察者模式定义了对象之间的一对多的依赖关系,当一个对象更新时,所以的依赖于该对象的对象都会收到通知并自动更新。
从定义可以看出,被观察者是一对多关系的一那一端。
UML图:
?
从图中我们可以看到,主题只依赖观察者接口,这里又一次遵循了松耦合原则,只要具体的观察这类实现观察者接口,那么主题和观察者直接就能交互,无论具体观察者实现类如何变化,记住,解耦是设计模式中最最基本的原则之一。
?
例子:
?
多谢楼主的文章,很明了 多谢楼主的文章,很明了