软件体系结构–观察者模式

文章目录

  • 概念
  • 例子
  • 总结
    • 优点
    • 缺点

概念

观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。

观察者模式一般是一种一对多的关系,可以有任意个(一个或多个)观察者对象同时监听某一个对象。监听的对象叫观察者(后面提到监听者,其实就指观察者,两者是等价的),被监听的对象叫被观察者(Observable,也叫主题 Subject)。被观察者对象在状态或内容发生变化时,会通知所有观察者对象,使它们能够做出相应的变化(如自动更新自己的信息)。

观察者模式类图:

优点

观察者和被观察之间抽象耦合,自有一套触发机制,被观察者无需知道通知对象是谁,只要是符合观察者接口的就可以。

缺点

  • 观察者只知道被观察发生变化,而无法知道是如何发生变化的,比如是修改了 name 字段还是其他,观察者都不知道。
  • 如果有很多个观察者,一个个通知比较耗时。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月10日
下一篇 2019年4月11日

相关推荐