Head First设计模式-观察者模式(基于气象观测站)
观察者模式:
观察者模式:
定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。
实现观察者模式的方法不止一种,但是以包含Subject与Observer接口的镭射机的做法最常见。
改变主题或观察者其中一方,并不会影响另一方。因为两们之间的接口仍被遵守,我们就可以自由地改变他们。
设计原则:
为了交互对象之间的松耦合设计而努力。
松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。
气象站的最终实现:
java中的观察者模式
java.util.Observable的黑暗面: