您的位置:首页 > 其它

观察者模式(Observer Pattern)

2016-07-11 16:00 323 查看
观察者模式,即一个对象发生改变时所有观察它变化的对象都可以接收到回调,做出相应的处理。英文释义:Define a one-to-many dependency between objects so that when one object changes state,all its dependents are nofited and notified and updated automatically.

这里同样以支付SDK项目为例,支付SDK作为公共的插件提供给多个游戏调用,使用过程中会出现,一个游戏调起后未完成支付的情况下,另外一个游戏也同样调起,此时存在两个支付实例,完成支付后要回调对应的支付结果给对应的游戏,就用到了观察者模式。即每个游戏作为观察者,支付SDK作为被观察者。

示例:

观察者接口:

public interface Observer{

public void do();

}

观察者:

public class Observer1 implements Observer{

public void do(){

......

}

}

public class Observer2 implements Observer{

public void do(){

......

}

}
被观察者抽象类:

public abstract class objectabstract{

private ArrayList <Observer> mObserverList=new ArrayList <Observer>();

public void addObserver(Observer observer){

mObserverList.add(observer);

}

public void do(){

for(Observer observer:mObserverList){

observer.do();

}

}

}

被观察者类:

public  class object extends objectabstract{

......

addObserver(new Observer());

do();
......

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: