标签:
定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所依赖与他的对象都会得到通知并被自动更新
类图:
代码:
public abstract class Subject {
private Vector<Observer> observers = new Vector<Observer>();
public void addObserver(Observer observer){
observers.add(observer);
}
public void deleteObserver(Observer observer){
observers.remove(observer);
}
public void notifyObserver(){
for(Observer o:observers){
o.update();
}
}
}public class ConcreteSubject extends Subject{
public void doSomething(){
super.notifyObserver();
}
}public interface Observer {
public void update();
}
public class ConcreteObserver implements Observer{
public void update(){
}
}
优点:
观察者和被观察者之间是抽象耦合
建立一套触发机制
缺点:
运行效率问题
标签:
原文地址:http://blog.csdn.net/renpengddxx/article/details/52138632