zoukankan      html  css  js  c++  java
  • 设计模式课程 设计模式精讲 21-1 观察者模式讲解


    1    课程讲解

    1.1  类型:

    1.2  定义:

    1.3  适用场景:

    1.4  优点:

    1.5  缺点:


    1    课程讲解
    1.1  类型:

    行为型

    1.2  定义:

    ·定义:定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新

    举例:

    A微信朋友圈发表了一个状态,B和C评论了,D又评论的时候,ABC都能收到朋友圈提醒。这里朋友圈动态 就是被观察者(主题对象),评论的所有人的账号都是观察者。

    淘宝某个鞋子不错,很多人点了降价通知 按钮。当鞋子降价的时候,所有点降价通知的人的账号,都会收到提醒。这里鞋子的价格是被观察者,所有点降价通知的人的账号都是观察者。

    1.3  适用场景:

    ◆关联行为场景,建立一套触发机制

    1.4  优点:

    ◆观察者和被观察者之间建立一个抽象的耦合(增加观察者和被观察者都容易扩展)
    ◆观察者模式支持广播通信

    1.5  缺点:

    观察者之间有过多的细节依赖、提高时间消耗及程序复杂度

    ◆使用要得当,要避免循环调用(观察者和被观察者之间避免循环,以免无限循环导致系统崩溃)

     

  • 相关阅读:
    线性dp打鼹鼠
    区间dp(能量项链)
    留言板
    友链
    CodeForces 1270I Xor on Figures
    agc020_d Min Max Repetition
    Codeforces 1270G Subset with Zero Sum
    CodeForecs 1270E Divide Points
    MybatisPlus学习笔记10:公共字段自动填充
    MybatisPlus学习笔记9:自定义全局操作
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/12318881.html
Copyright © 2011-2022 走看看