牛刀小试 JAVA内置 观察者模式

来源:互联网 发布:mac提取dsdt 编辑:程序博客网 时间:2024/05/15 23:45

好吧,早上软考啦,刚才看到有关Observer的模式,之前在俱乐部技术交流大会上也听J总说过这么一个词,感觉是个好东西。

百度了一下,原来JAVA 内置有Observer这种模式!!!太神了。

自己写了个测试方法,验证了这种模式的一部分功能。跟大家分享一下。

看下API里面是怎么定义Observer的

这只是个接口,故应该由一个类来implement.我写了个MyObserver来实现这一接口。

我的Observer里面有个属性name和方法setName,getName,smile都是简单方法,不多说。

主要是实现接口中的update方法。

从参数中我们可以看到估计一个观察者可以观察多个被观察者,故通过Observable来区分是哪个被观察者发过来的更新消息。

另外一个参数Object是被观察者向观察者发送过来的,估计是让观察他的观察者做某一个具体的事情。我这里是要求改名字或者smile一下。

下面我们再来看一下另外一个内置的类Observable,可观测量

如果想自己控制这个类里面的setChanged方法,就必须extends这个类。因此MyObservable如下

简单说下代码的意思,构造一个可观察量,给它增加两个不同的Observer对象。

两个测试路径,一个是改名字,一个是smile.程序执行如下

 

两个Observer都收到Observable的通知,也都作出了相应的处理。

另外这种模式如何应用到我们的开发当中,如何才能做出高性能,体验佳的产品还有待研究。好吧,应该像FourSquard那种ListView的更新有个大概实现方法了。o(∩_∩)o...sleep.

 

原创粉丝点击