1、思想
让多个观察者对象同时监听某一个主题对象(老板或者前台秘书),这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动的更新自己。
2、代码
//抽象通知者
public interface Subject{
void add(Observer observer);
void remove(Observer observer);
void notifyAll();
}
//抽象观察者
public interface Observer{
void update();
}
//具体通知者
public class ConcreteSubject implements Subject{
private ArrayList<Observer> list = new ArrayList<Observer>();
@Override
public void add(Observer observer){
list.add(observer);
}
@Override
public void remove(Observer observer){
list.remove(observer);
}
public void notifyAll(){
for(Observer observer:list){
observer.update();
}
}
}
//具体观察者
public class ConcreteObserver implements Observer{
@Override
public void update(){
//更新自己的状态
}
}