美文网首页
设计模式学习之观察者模式

设计模式学习之观察者模式

作者: 满天星爱我 | 来源:发表于2018-11-20 22:15 被阅读15次

定义

定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

设计原则

  • 为了交互对象之间的松耦合设计而努力
    松耦合的设计之所以能建立有弹性的00系统,能够应对变化,是因为对象之间的互相依赖降到了最低
  • 找出程序中会变化的方面,然后将其和固定不变的方面相分离
  • 针对接口编程,不针对实现编程
  • 多用组合,少用继承

要点

  • 观察者模式定义了对象之间一对多的关系
  • 主题(也就是可观察者)用一个共同的接口来更新观察者
  • 观察者和可观察者之间用松耦合方式结合,可观察者不知道观察者的细节,只知道观察者实现了观察者接口
  • 使用此模式时,你可从被观察者处推(push)或拉(pull)数据(然后,推的方式被认为更正确)
  • 由多个观察者时,不可以依赖特定的通知次序
    java.util.Observable实现了它的notifyObservers方法,导致通知观察者的次序发生了改变。
  • 注意java.util.Observable实现上所带来的一些问题

相关文章

网友评论

      本文标题:设计模式学习之观察者模式

      本文链接:https://www.haomeiwen.com/subject/qtjfqqtx.html