代码改变世界

学习观察者模式心得

2010-04-13 14:51  markwangxm  阅读(400)  评论(0编辑  收藏  举报

一.学会了几个单词

1.subject 主题

2.observer 观察者

3.pattern 模式

4.concrete 具体的

5.attach 添加,附加

6.detach 分离,释放

7.notify 通知

二.对观察者模式的通俗理解

1.一个主题(subject)中的内容发生变化,通知(notify)多个观察者(observer)相同的消息。

2.一个主题(subject)中的内容发生变化,根据添加(attach)的不同的观察者(observer)对象,通知(notify)不同的消息。

三.对委托的理解

1.将观察者得到主题反馈的函数(sendData),以引用形式传递给主题中声明的一个委托。当主题内容发生变化时,委托来触发对这个函数的调用,来达到观察者自动收消息的功能。

2.事件是一种特殊的委托,它是拥有特殊签名的委托(object,eventargs),他只能引用他所属类的自身的函数引用。

3.委托类似于C++中函数指针。

4.之前面试中有人问我这样一个问题,就是java中如何实现委托。希望知道的人能告诉我一下!