读书人

设计方式总结:观察者模式

发布时间: 2013-02-17 10:44:46 作者: rapoo

设计模式总结:观察者模式

定义:

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(); //主动索取数据            ...        }    }}


读书人网 >软件开发

热点推荐