java观察者模式
来源:互联网 发布:淘宝模板软件破解版 编辑:程序博客网 时间:2024/05/29 04:15
观察者模式的定义
定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都能收到通知,并被自动更新。
观察者模式通用代码
步骤
1.目标对象的定义,
2.具体的目标对象的定义,
3.观察者接口的定义,
4.观察者具体实现
具体实现
首先定义抽象的观察者:
//抽象观察者角色public interface Watcher{ public void update(String str);}
然后定义抽象的主题角色,即抽象的被观察者,方法(添加、移除观察者,通知观察者):
//抽象主题角色,watched:被观察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); }}
具体的主题角色:
import java.util.ArrayList;import java.util.List;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("开心"); }}
阅读全文
1 0
- java观察者模式
- java观察者模式
- Java 观察者模式
- Java实现观察者模式
- Java实现观察者模式
- Java 中的观察者模式
- Java观察者模式
- java Observer 观察者模式
- 观察者模式(Java)
- java 接口 观察者模式
- java观察者模式
- Java之观察者模式
- Java 观察者模式
- java 观察者模式
- java中的观察者模式
- java 观察者模式
- java观察者模式介绍
- java观察者模式
- 【论文阅读】Neural Language Correction with Character-Based Attention
- Linux入门(一)
- oracle连接中断
- BigDecimal
- 【u-boot】u-boot-2016.09 make配置过程分析
- java观察者模式
- vue.js学习02之vue-cli脚手架创建项目环境搭建
- 可视化dockerregistry中的镜像
- detached HEAD
- 校验输入框中是否有重复值
- delphi日志模块代码
- STM32常见问题整理
- java jdk配置
- 66_常用类_DateFormat和SimpleDateFormat_时间和字符串的互相转换