观察者模式

观察者模式是一个非常有用的模式,它又叫做发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己,观察者模式完美的解决了类与类之间的耦合关系。

观察者模式使用起来很简单

1、首先被观察的类继承Observable类,在要被监听的方法中添加如下两句话

 if (countObservers() > 0) {
        setChanged();      //设置变化点
        notifyObservers(xxx);  //通知所有观察者变化
  }      
2、然后观察者实现Observer接口,实现update方法

public void update(Observable o, Object arg) {
            if(arg instanceof xxx){
            }
  }  
3、实例化被观察者类 Observable

      实例化观察者类 Observer

     被观察者类添加观察者类

Observable.addObserver(Observer) ;

     调用被监听的方法即可

 



你可能感兴趣的:(观察者模式)