观察者模式定义:
观察者模式定义了对象之间的一对多依赖,这样依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新;
要点:
1、观察者模式定义了一系列对象之间的一对多关系;
2、当一个对象改变状态,其他依赖者都会收到通知;
3、观察者模式提供了一种对象设计,让主题和观察者之间松耦合(它们依然可以交互,但是不太清楚彼此的细节);
通俗解释:
OBSERVER观察者:一旦被观察者有什么异常情况,定会及时做出反应;
另类解释:
OBSERVER—想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦
观察者模式:观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
图2-1 观察者模式
OO设计应遵循的一般原则:
原则一:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
原则二:多用组合,少用继承(将两个或多个类的功能结合起来使用,就是组合Composition)
原则三:针对接口编程,而不针对实现编程;
原则四:为了交互对象之间的松耦合设计而努力;
(未完待续……)