观察者模式
来源:互联网 发布:php k图 编辑:程序博客网 时间:2024/06/05 11:26
1类图
2定义:
2.1 定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。
3应用场景:
3.1 关联行为场景,需要注意得是,关联行为是可拆分的,而不是“组合”是。
3.2 事件多级触发场景。
3.3 跨系统的消息交换场景,如消息队列,事件总线的处理机制 。
4观察者
public class Coder implements Observer { public String name; public Coder(String name){ this.name = name; } @Override public void update(Observable o, Object arg) { System.out.println("Hi, " + name + ", 海贼王更新了,内容 : " + arg); } @Override public String toString() { // TODO Auto-generated method stub return "海迷 : " + name; }}
5被观察者
public class DevTechFrontier extends Observable { public void postNewPublication(String content){ setChanged(); notifyObservers(content); }}
6测试
public class Test { public static void main(String[] args) { DevTechFrontier devTechFrontier = new DevTechFrontier(); Coder h1 = new Coder("海迷-1"); Coder h2 = new Coder("海迷-2"); Coder h3 = new Coder("海迷-3"); devTechFrontier.addObserver(h1); devTechFrontier.addObserver(h2); devTechFrontier.addObserver(h3); devTechFrontier.postNewPublication("索罗开眼了!"); }}
阅读全文
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- <设计模式可复用面向对象软件的基础> [2.3]、组合模式(C#)
- 使用Servlet上传多张图片——Servlet层(ProductServlet.java)
- 黑客-新手入门
- PAT乙级题1016.部分A+B
- Unity3d通过鼠标缩放查看和旋转物体
- 观察者模式
- 编译时缺少openssl/md5.h该怎么处理
- 递归与二叉树
- LeetCode 学习 LinkedList 专项(5)—— Linked List Cycle
- 我所理解的设计模式(C++实现)—— “一句话总结”和索引
- 事件委托技术原理和使用(js,jquery)
- 面向对象笔记
- Ubuntu在vmware虚拟机无法上网的解决方法
- java自动类型转换