"Android开发实现简单的观察者与被观察者示例" Android开发实现简单的观察者与被观察者示例主要介绍了Android开发实现简单的观察者与被观察者,简单描述了观察者模式的概念、原理并结合实例形式分析了Android实现观察者模式的简单操作技巧。 一、观察者模式概述 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 二、观察者模式结构图 在观察者模式中,有四个主要的角色: 1. Subject:抽象主题(抽象被观察者),抽象主题角色把所有观察者对象保存在一个集合里,每个主题都可以有任意数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。 2. ConcreteSubject:具体主题(具体被观察者),该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有注册过的观察者发送通知。 3. Observer:抽象观察者,是观察者者的抽象类,它定义了一个更新接口,使得在得到主题更改通知时更新自己。 4. ConcrereObserver:具体观察者,是实现抽象观察者定义的更新接口,以便在得到主题更改通知时更新自身的状态。 三、实现方法 1. 创建接口观察者(Watcher.java): Watcher.java是观察者的抽象接口,定义了update方法,用于更新观察者的状态。 2. 创建接口被观察者(Watched.java): Watched.java是被观察者的抽象接口,定义了三个方法:adWatcherh用于添加观察者,removeWatcherh用于删除观察者,notifyAll用于通知所有观察者。 3. 创建观察者实现接口(ConWatcher.java): ConWatcher.java是观察者的实现类,实现了Watcher接口,override了update方法,用于更新观察者的状态。 4. 创建被观察者实现接口(ConWatched.java): ConWatched.java是被观察者的实现类,实现了Watched接口,override了三个方法:adWatcherh用于添加观察者,removeWatcherh用于删除观察者,notifyAll用于通知所有观察者。 5. 测试(WatchTest.java): WatchTest.java是测试类,用于测试观察者模式,创建了被观察者对象和观察者对象,并添加了观察者对象到被观察者对象中,最后通知所有观察者对象更新状态。 四、运行结果 在测试类中,我们创建了被观察者对象和三个观察者对象,并将观察者对象添加到被观察者对象中,然后通知所有观察者对象更新状态。最终,输出结果为"I am coming",表明观察者模式实现了正确。
- 粉丝: 1
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助