设计模式总结:观察者模式
定义:
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
定义了对象之间的一对多依赖(一个主题,多个观察者),这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
类图:
public class MySubject extends Observable{ private Object data; public void changeData(){ setChanged(); //若不调用,则观察者不会被通知 notifyObservers(); //拉 notifyObservers(data); //推 } }public class Observer1 implements Observer{ Observable observable; public Observer1(Observable o){ observable = o; observable.addObserver(this);//注册 } public void update(Observable o, Object arg){ if(o instanceof MySubject){ Object data = ((MySubject) o).getData(); //主动索取数据 ... } }}