美文网首页
观察者模式

观察者模式

作者: 拖延症末期 | 来源:发表于2018-03-11 23:32 被阅读0次

    1. 定义: 发布/订阅,每当一个对象的状态发生变化,所有依赖它的对象都会得到通知并自动更新

    2. 优点:

    (1)观察者与被观察者解耦

    (2)建立一套触发机制:

    比如,我们去打猎,打死了一只母鹿,母鹿有三个幼崽,因失去了母鹿而饿死,尸体又被两只秃鹰争抢,因分配不均,秃鹰开始斗殴,然后羸弱的秃鹰死掉,生存下来的秃鹰,则因此扩大了地盘……

    依赖关系:

    母鹿<-幼崽<-秃鹰

    Task之间改为观察者模式(不合适,7级链条会导致混乱)

    3. 缺点:

    (1)多个观察者,开发调试困难

    (2)多个观察者一般用异步

    (3)多级触发效率低

    4. 使用场景:

    (1)关联行为场景:a变化导致b变化

    (2)事件多级触发:建议不多于2级,即a影响b,b影响c

    (3)跨系统消息交换?发布/订阅式消息队列

    5. 问题:

    (1)事件多级触发,建议消息最多转发一次,即传递两次

    (2)多个观察者,异步

    6. java提供了observable,observer接口

    相关文章

      网友评论

          本文标题:观察者模式

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