观察者模式

1.定义#

定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被更新。观察者模式是存在观察者和被观察者,当被观察者状态改变时将通知观察者做出响应。JAVA中已提供实现类Observable和接口Observer。

2.类图#

类图

3.实现#

3.1被观察者##

public class ConcreteObservalbe extends Observalbe{
  public class doSomething(){
    //发送相应变更
    super.setChanged();
    super.notifyObservers(object);
  }
}

3.2观察者##

public class ConcreteObserver implements Observer{
  public void update(Observable observable,Object obj){
    //相应的处理逻辑
  }
}

4.优缺点#

优点:观察者与被观察者之间解耦合,不管增加观察者还是被观察者都非常容易。建立了一套出发机制,可以方便的形成多条触发链。
缺点:当触发链过多是将难以维护,如多个被观察者同时发送消息则观察者处理压力将会很大,考虑使用多进程和缓存机制实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容