美文网首页
Design-Pattern--Observer

Design-Pattern--Observer

作者: 74a167dfed28 | 来源:发表于2019-03-22 22:18 被阅读0次

    定义:

    观察者模式定义了一个一对多的依赖关系,让一个或者多个观察者对象监听一个主题对象。主题对象的状态发生变化,能够通知所有依赖与此对象的观察者对象,使观察者对象能够自动更新。

    观察者模式是对象的行为模式。又称发表订阅模式(publish/subscribe)、模型-视图模式(model/view)。

    观察者模式的结构:


    image.png
    • 抽象主题角色Subject 保存了所有的观察者对象的引用
    • 抽象观察者角色Observer
    • 具体主题ConcreteSubject
    • 具体观察者ConcreteObserver

    观察者模式的优缺点:

    优点

    1. 观察者和被观察者之间是抽象的耦合,被观察者只是知道一个具体观察者的列表,每个具体观察者都符合一个抽象观察者的接口。
    2. 支持广播通信,被观察者会向所有登记过的观察者发出通知。

    缺点

    1. 观察者过多,通知比较耗时
    2. 观察者和被观察者之间有循环依赖,会导致系统崩溃
    3. 如果是通知是异步的话,必须保证投递是以自洽的方式进行
    4. 观察者不知道被观察者是怎么样发生变化的。

    相关文章

      网友评论

          本文标题:Design-Pattern--Observer

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