码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之观察者模式

时间:2016-06-30 01:10:18      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

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

我觉得:观察者模式的关键在于使用统一定义的接口。通过接口来操作对象。观察者/被观察者 分别通过接口来相互调用。多对多关系时可以组合选择

观察者模式:

技术分享技术分享

 

观察者模式实现:

最重要的:首先定义统一接口

主题接口:主要提供三个方法:添加/删除观察者,遍历向所有观察者推送数据;

Subject接口是给观察者调用来将自己加入/删除到被观察者的推送名单,进而得到数据更新的

使用接口当 存在多个主题时,可以通过将自己加入想要获取数据更新的主题中就可以得到想获取的主题数据

技术分享

观察者接口:提供数据更新接口 用来给被观察者调用来向观察者推送最新数据

技术分享

观察者展示:提供数据展示方法  观察者调用来获取具体展示形式

技术分享

被观察者类:实现添加,删除,遍历更新数据方法。

技术分享

观察者类:

技术分享

 

在被观察者的类中 有个方法是setChange();

通过此方法是更新数据的出发收我们控制;

此方法是在学习观察者时,看到的jdk提供的观察者模式提供的思路;

下面记录使用内部支持类做的观察者模式代码

技术分享

技术分享

需要注意的是被观察者的类是继承而来的;使用时需要注意:被观察者类不能从其它类获取行为

 

设计模式之观察者模式

标签:

原文地址:http://www.cnblogs.com/luoying/p/5628584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!