01观察者模式

2016-02-25  本文已影响17人  jackLee

观察者模式类图

Paste_Image.png

观察者模式构成要素

例子:
subject.class{
private Data mdata;//01
private ArrayList<Listener> mListeners;//02
//observer.interface: //03
private interface Listener{

public void onDataAdded();
public void onDataRemoved();
public void onDataChanged();
....other methods.....
}
//following methods are provided for Observers;//04
public void addListener(Listener l){};
public void removeListener(Listener l){};
public void clearListeners(){};

//following methods are used to notify observers of change of subject dataSteted://05
public void DataAdd();

public void DataChanged();

public void DataRemoved();

}
标注:
--01:表示subject被观察者拥有的数据
--02:表示一个容器用于装载Observer
--03:定义了一个内部接口Observer,包含了若干个对subject的状态的监听
--04:subject提供的一些接口:供客户端添加和移除Observer
--05:供客户端调用当状态发生改变时通知所有的Observer

上一篇 下一篇

猜你喜欢

热点阅读