浏览 2731 次
锁定老帖子 主题:观察者模式误解-容易理解错误的地方
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-24
理解观察者模式首先明白会有两个概念,观察者和被观察者,一个对象可以被多个“观察者”所观察,所以“被观察者”与“观察者”是一个一对多的关系,以致“被观察者”中会有一个“观察者”的集合,我们可以向“被观察者”中注册“观察者”。 因要实现多个“观察者”,所以需要一个接口来把“观察者”的共性规范好,以便于让“被观察者”调用。 则有一个Observer的接口,定义“观察者”观察到“被观察者”的改变,自己想执行的行为。 总而言之,就是“被观察者”发生变化后,会遍历“观察者”集合,去执行“观察者”的方法 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-01-25
总而言之,就是“被观察者”发生变化后,会遍历“观察者”集合,去执行“观察者”的方法
|
|
返回顶楼 | |
发表时间:2010-01-30
回调和观察者模式在接口形式上看起来有点像,都是把一部分逻辑封装在一个对象里,再把这个对象作为方法的参数传入。
不同的是观察者模式里被观察的对象往往和被通知的对象是聚合甚至组合关系。 而回调则和被通知者可能只有简单又浅薄的关联关系。 |
|
返回顶楼 | |
发表时间:2010-02-21
观察者模式就是回调。在c#里面就是事件。编程的基础方法,不会就不要当程序员害人。
|
|
返回顶楼 | |
发表时间:2010-03-11
可不可以这样理解:
被观察者:房屋A,房屋B,房屋C,房屋D。。。 观察者: 当地的119 当某个房屋起火报警器响了之后,自动通知该119 |
|
返回顶楼 | |