java设计模式-观察者模式
来源:互联网 发布:景德镇餐具套装淘宝 编辑:程序博客网 时间:2024/05/25 23:57
对于程序员来说,观察者模式这个词一定再熟悉不过了。但是可能还是有人对它的印象不是很深,因为这个名词还是有一定的抽象性的。今天我用一个及其简单的demo来谈一谈观察者模式。
如果您觉得观察者模式抽象的话,那您对监听一定太熟悉了。监听其实就是运用的观察者模式。
我下面写四个类,分别是:
抽象的{
观察者:抽象地定义观察者应有的属性和方法
被观察者:抽象地定义被观察者应有的属性和方法(此接口可以省略 直接定义被观察者)
}
具体的{
观察者: 定义一个实际的观察者类(也可以不定义,在使用的时候 使用匿名内部类)
被观察者: 定义一个实际的被观察者类,实现具体的逻辑(在什么时候调用观察者的什么方法等,什么地方触发什么方法等)
}
还有一个主类:把被观察者new出来~设置上监听~触发监听看看效果
好,这样基本架构ok了。下面看看具体代码:
http://download.csdn.net/detail/u010532761/9367666
代码在此,duang~
看看如何调用:
//首先创建一个被观察者对象
Cwatchereder w2 = new Cwatchereder();//新建个被观察者
//给被观察者设置上一个观察者(监听)
w2.addWatcher(new Cwatcher());
System.out.println("这个地方经历了漫长的等待。。。");
System.out.println("突然有一天notify方法被执行了(看一下具体的notifywatcher方法,它调用了观察者的 Isee方法)");
w2.notifyWatcher(true);
//然后看看被观察者是怎么调用观察者的观察方法的:
public void notifyWatcher(boolean notify) {// TODO Auto-generated method stub
if(notify){
System.out.println("notifywatcher===");
if(watcher!=null){
watcher.Isee(str);
}
}
}
大功告成,亲个嘴吧~
- java设计模式-----观察者
- JAVA 观察者设计模式
- java观察者设计模式
- java观察者设计模式
- java 观察者设计模式
- JAVA-观察者设计模式
- JAVA设计模式--观察者
- Java---观察者设计模式
- Java设计模式:观察者
- Java设计模式-观察者
- java观察者设计模式
- java设计模式-观察者模式
- java设计模式---观察者模式
- java设计模式---观察者模式
- java设计模式---观察者模式
- java设计模式-----观察者模式
- java 设计模式---->观察者模式
- java设计模式----观察者模式
- 移动的button和移动的label
- ubuntu14.04安装jdk
- Android不继承ViewPager实现自动滚动翻页功能
- 自定义控件8---视频音量调控
- jdbc 连接mysql乱码问题
- java设计模式-观察者模式
- 学习反射时的一些感受和心得
- jQuery源码分析之jQuery(selector,context)详解
- 《数据挖掘导论》学习
- 2.Benchmark SQL 数据库测试工具代码——关于表类
- java线程(生产者/消费者)
- SVN(for Mac)工具Versions过期解决办法
- 关键字----static小结
- 批量更改更改A表某字段为B表的name字段