第二章 观察者模式

来源:互联网 发布:现在开淘宝挣钱吗 编辑:程序博客网 时间:2024/05/18 03:45


观察者模式:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会接收到通知,并自动更新。

 

数据方向:可以由Subject推向(push)Observer,也可以由ObserverSubject(pull)

(push)subject.notifyObservers(Object data)

(pull)subject.notifyObservers()&subject.getter。方便扩展功能,新增状态时,不用修改和更新对每位观察者的调用,只需改变自己来允许更多的getter方法来取得新增的状态。

 

Java内置的观察者模式:Observer接口和Observable类。setChange()方法用来标记状态已经改变的事实,这样使在更新Observers时有更多的弹性,可以适当的通知Observers

 

设计原则:为了交互对象之间的松耦合而努力。

松耦合的设计之所以能让我们建立有弹性的OO系统,能后应对变化,是因为对象之间的相互依赖降到了最低。

Subject唯一依赖的东西是一个实现Observer接口的对象列表。所以可以随时增加或者删除观察者。

有新的Observer出现时,主题的代码不需要修改。


1 0