package pattern;
import java.util.Map;
public interface Observable {
public void update(Observe o,Map map);
}
package pattern;
import java.util.Map;
public interface Observe {
public void addObservable(Observable observable);
public void removeObservable(Observable observable);
public void change(Map map);
}
package pattern;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class ObserveDefaultImp implements Observe{
private List<Observable> observables=new ArrayList();
//多线程共享,需要为方法以及变做同步
public synchronized void addObservable(Observable observable) {
// TODO Auto-generated method stub
observables.add(observable);
}
private void notifyObservable(Map map) {
//通知观察着并传递其消息,Map包含被观察者的状态改变类别以及观察着作出回应所需要的辅助信息
// TODO Auto-generated method stub
Iterator it=observables.iterator();
while(it.hasNext()){
((Observable) it.next()).update(this,map);
}
}
public synchronized void removeObservable(Observable observable) {
// TODO Auto-generated method stub
observables.remove(observable);
}
public void change(Map map) {
// TODO Auto-generated method stub
notifyObservable(map);
}
}
package pattern;
import java.util.Map;
public class ObservableDefaultImp implements Observable{
public void update(Observe o, Map map) {
// TODO Auto-generated method stub
System.out.print("o has changed!");
}
}
分享到:
相关推荐
java观察者模式观察者模式java观察者模式观察者模式java观察者模式观察者模式
Qt设计模式之观察者模式
观察者模式及实例,适合初学者阅读 。。。。。。。。。。。。。。。
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
采用Java语言编写的一个观察者模式实例。观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,...
观察者模式demo 观察者模式demo 观察者模式demo 观察者模式demo
java 设计模式 观察者模式 简单实例 包括测试test类
iOS 设计模式 观察者模式
观察者模式Demo,设计模式,观察者模式
运用观察者模式及MVC模式的整合,是javaWeb的简单的实现了选民投票
观察者模式使用
js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子js观察者模式列子
设计模式之观察者模式Java版本实现和UML类设计图
观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化,这个例子是java内置观察者模式
观察者模式小型框架
观察者模式
观察者模式最好的诠释 模式编程中的观察者模式delphi代码
观察者模式 c++ 工程角度实现
设计模式--观察者模式java例子
面向对象23种设计模式之观察者模式,简单明了。面向对象23种设计模式之观察者模式,简单明了。