讲师回答 / GerryZhang
<...code...>这个就是 subjectState 的 set 方法我们在set状态的时候触发通知所以在set方法中调用 通知观察者的方法 notifyObservers();
2015-06-22
观察者模式 触发联动
当一个抽象模型有两个方面,其中一个方面的操作依赖于另一个方面的状态变化
如果在更改一个对象的时候,需要同时连带改变其他的对象,而且不知道究竟应该 有多少对象需要被连带改变
当一个对象必须通知其他的对象,但是你又希望这个对象和其他的被通知的对象是松散耦合的
当一个抽象模型有两个方面,其中一个方面的操作依赖于另一个方面的状态变化
如果在更改一个对象的时候,需要同时连带改变其他的对象,而且不知道究竟应该 有多少对象需要被连带改变
当一个对象必须通知其他的对象,但是你又希望这个对象和其他的被通知的对象是松散耦合的
2015-06-22
命名建议
目标接口 Subject
观察者接口 Observer
观察者接口的更新方法 update
触发通知的时机先改数据后通知
观察者模式调用顺序 准备阶段1创建目标对象2创建观察者对象3相目标对象注册观察者对象
运行阶段1改变目标对象的状态1.1通知所有注册地观察者对象进行相应的处理1.1.1回调目标对象,获取相应数据
通知的顺序 观察之间是平行的
目标接口 Subject
观察者接口 Observer
观察者接口的更新方法 update
触发通知的时机先改数据后通知
观察者模式调用顺序 准备阶段1创建目标对象2创建观察者对象3相目标对象注册观察者对象
运行阶段1改变目标对象的状态1.1通知所有注册地观察者对象进行相应的处理1.1.1回调目标对象,获取相应数据
通知的顺序 观察之间是平行的
2015-06-22