Java中的观察者模式
来源:互联网 发布:mac唇膏真假对比 编辑:程序博客网 时间:2024/04/29 23:51
观察者模式的定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新
假设现在有一个需求,客户支付了订单款项,这时财务需要开具发票,出纳需要记账,配送员需要配货
观察者接口
package com.zw.mymaven;//抽象观察者角色public interface Watcher {public void update();}
主题接口
package com.zw.mymaven;//被观察者必有3个功能,增加,删除,更新public interface Watched {public void addWatcher(Watcher watcher);public void removeWatcher(Watcher watcher);public void notifyWatchers();}
观察者实现类
package com.zw.mymaven;public class Worker implements Watcher {public void update() {System.out.println("财务已开具发票,出纳已记账,配送员已配货");}}
主题实现类
package com.zw.mymaven;import java.util.ArrayList;import java.util.List;public class Product implements Watched { private List<Watcher> list = new ArrayList<Watcher>(); public void addWatcher(Watcher watcher) { list.add(watcher); } public void removeWatcher(Watcher watcher) { list.remove(watcher); } public void notifyWatchers() { for (Watcher watcher : list) { watcher.update(); } }}
测试类
package com.zw.mymaven;public class Test2 {public static void main(String[] args) {Watched product = new Product();Watcher Caiwu = new Worker();Watcher Chuna = new Worker();Watcher Peisong = new Worker();product.addWatcher(Caiwu);product.addWatcher(Chuna);product.addWatcher(Peisong);product.notifyWatchers();}}
0 0
- Java 中的观察者模式
- java中的观察者模式
- Java中的观察者模式
- java 中的观察者模式
- java中的观察者模式
- Java中的观察者模式
- java中的观察者模式
- java 中的观察者模式
- java中的观察者模式
- Java中的观察者模式
- java中的观察者模式
- Java中的观察者模式(Observer)
- Java中的观察者模式(Observer)
- Java中的观察者模式(Observer)
- java中的观察者模式2
- JAVA中的观察者模式实例教程
- Java中的观察者模式详解
- java中的观察者设计模式
- Angular基础知识点
- 小白的centos6.5笔记——xshell配置
- Java之路第四天
- 线性回归&Logistic回归
- Tree, Min/Max/Balanced Depth
- Java中的观察者模式
- 模拟和数字低通滤波器的MATLAB实现
- JavaMail与Spring整合
- 1108. Finding Average (20)
- 把vim打造成牛逼的C++ IDE
- Atitit 项目培训与学校的一些思路总结
- 记录下自己在Linux下常用的软件
- Atitit 深入了解UUID含义是通用唯一识别码 (Universally Unique Identifier),
- Hadoop中MultipleOutputs的应用,以及自定义Writable