观察者模式(Observer Pattern)

来源:互联网 发布:番号搜索观看软件 编辑:程序博客网 时间:2024/06/05 05:57

观察者模式,即一个对象发生改变时所有观察它变化的对象都可以接收到回调,做出相应的处理。英文释义: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();

......

}


0 0
原创粉丝点击