认识观察者模式
①报社的业务就是出版报纸
②向某家报社订阅报纸,只要他们有新报纸出版,就会给你送来。只要你是他们的客户,就会一直收到报纸
③当你不想再看报纸的时候,取消订阅,他们就不会再送报纸来
④只要报社还在运行,就会一直有人(或单位)向他们订阅报纸或取消订阅报纸
出版者 + 订阅者 = 观察者模式
出版者 -> 主题(Subject)
订阅者 -> 观察者(Observer)
定义观察者
* 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新
松耦合的威力
当两个对象之间松耦合,它们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。
设计原则
为了交互对象之间的松耦合设计而努力。松耦合的设计之所有能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。