Java观察者模式以及与订阅发布者模式区别
来源:互联网 发布:古天乐整容 知乎 编辑:程序博客网 时间:2024/06/05 00:53
设计模式复习,代码是最好的说明。
定义:观察者模式定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新,属于行为类模式。
注意:观察者模式和发布订阅模式是有区别的,区别在于观察者模式是由目标进行调度,而发布订阅模式是由独立的调度中心进行调度,可以说发布订阅模式是观察者模式进一步解耦,在实际中被大量运用的一种模式。
UML:
代码:
abstract class Subject{ private Vector<Observer> vector = new Vector<Observer>(); public void addObserver(Observer observer){ this.vector.add(observer); } public void deleteObserver(Observer observer){ this.vector.remove(observer); } protected void notifyObserver(){ for (Observer observer:vector){ observer.update(); } } abstract void doSomething();}class ConcreteSubject extends Subject{ void doSomething() { System.out.println("被观察者事件发生"); this.notifyObserver(); }}interface Observer{ void update();}class ConcreteObserver1 implements Observer{ public void update() { System.out.println("观察者1收到"); }}class ConcreteObserver2 implements Observer{ public void update() { System.out.println("观察者2收到"); }}
http://blog.csdn.net/itachi85/article/details/50773358
http://www.cnblogs.com/lovesong/p/5272752.html
http://geeksun.iteye.com/blog/2232298
如有错误,欢迎指出!
阅读全文
0 0
- Java观察者模式以及与订阅发布者模式区别
- javascript 观察者模式 (订阅者与发布者)
- 观察者模式与发布/订阅模式区别
- 观察者模式与发布/订阅模式区别
- 观察者模式与发布/订阅模式区别
- 发布者订阅者模式
- 一个订阅发布者模式
- 订阅/发布者模式---JavaScript
- activemq发布者/订阅模式模式
- 观察者模式与发布/订阅模式的区别
- 观察者模式与发布订阅者模式
- java设计模式-观察者(发布-订阅)模式
- 发布者订阅者模式(一)
- 简单的订阅者/发布者模式
- 设计模式(三):观察者模式与发布/订阅模式区别
- 观察者模式:消息的发布与订阅
- Redis 学习笔记十 发布者订阅者模式与生产者消费者模式
- java 观察者模式——主题订阅
- 学视觉开发从0到255!
- 多线程模拟实现生产者/消费者模型
- ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
- 交叉验证 sklearn.model_selection.cross_val_score
- 基于运放和三极管的恒流源电路
- Java观察者模式以及与订阅发布者模式区别
- 强化学习
- SSH入门--员工管理系统
- iotop命令监控磁盘io
- 涂涂乐 通过shader实现目标区域正交图片提取,移动端可用
- AndroidStudio上打开之前的项目报错但是能运行
- [CDH--安装]--关于Spark版本的支持
- iOS 内省方法浅谈
- mybatis 传入null值解决方法