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

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

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

    定义

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

    设计原则

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

    要点

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

    相关文章

      网友评论

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

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