观察者模式
来源:互联网 发布:unity3d 离线下载 编辑:程序博客网 时间:2024/06/08 15:12
参考http://www.cnblogs.com/mengdd/archive/2013/02/07/2908929.html
观察者模式,顾名思义需要一个被观察者,一个观察者,当被观察者状态改变的时候,通知观察者,在Android 中的Button 在点击之后 点击之前 是物理触碰到杂七杂八 什么时候发生都不知道,但是对外有个回调接口 ,及时观察者模式的体现,当被观察者即button 点击的时候,通知观察者 做你要做的事情。
回调接口及 观察者模式的简单体现, 在Android 中适配器的notifyChange 刷新数据。及观察者模式的体现。一下代码简单模拟
public interface Watcher{ public void update(String str);}public interface Watched{ public void addWatcher(Watcher watcher); public void removeWatcher(Watcher watcher); public void notifyWatchers(String str);}public class ConcreteWatcher implements Watcher{ @Override public void update(String str) { System.out.println(str); }}public class ConcreteWatched implements Watched{ // 存放观察者 private List<Watcher> list = new ArrayList<Watcher>(); @Override public void addWatcher(Watcher watcher) { list.add(watcher); } @Override public void removeWatcher(Watcher watcher) { list.remove(watcher); } @Override public void notifyWatchers(String str) { // 自动调用实际上是主题进行调用的 for (Watcher watcher : list) { watcher.update(str); } }}public class Test{ public static void main(String[] args) { Watched girl = new ConcreteWatched(); Watcher watcher1 = new ConcreteWatcher(); Watcher watcher2 = new ConcreteWatcher(); Watcher watcher3 = new ConcreteWatcher(); girl.addWatcher(watcher1); girl.addWatcher(watcher2); girl.addWatcher(watcher3); girl.notifyWatchers("开心"); }}
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- Docker工具
- Object类
- 三色球问题
- 倒排索引
- ie11不再支持attachEvent事件
- 观察者模式
- auto format code in visual studio
- 几种排序算法的简单总结
- ubuntu虚拟机配置nfs服务器软件的步骤
- C# byte数组与Image相互转换的方法
- 控制台版2048 version_1.0总结
- C/C++语言void及void指针深层探索
- java中传参
- gnuplot画图一