zoukankan      html  css  js  c++  java
  • 观察者模式Vs发布订阅模式

    1)观察者模式

    观察者模式通俗的讲就是我们平事件调用(click/change等等)

    大家先看这个图片。我们被观察者Subject(监听某个事件)发生改变时,观察者Observer监听到没改变做出调整。
    最大的特点是实现了松耦合(如何理解松耦合呢?个人认为就是当Subject 发生给变时,我们有一套对应的Observer集合,当Subject中的模块1 给变时对应的Observer1做出反应,当Subject中的模块2 给变时对应的Observer2做出反应...,不必全部都是一一对应,来实现松耦合)。

    2)发布订阅模式

    发布订阅模式这个问题就大了?
    怎么回事呢 ,因为它涉及到了第三者的插足!!!

    我还是先介绍一下他们是谁吧

    Subscriber 订阅者

    Publisher 发布者
    Broker 插足者(第三者)
    看图看图

    对的小三就是这么堂而皇之的出现在中间了。不他出现的恰到好处给无聊的生活平添了很多的乐趣。

    为啥呢??     言归正传,

    当Pub有消息要告诉Sub时:

    发布者只需告诉Broker,我要发的消息,topicA的A消息;

    订阅者只需告诉Broker,我要订阅topicA的消息是A;

    于是,当Broker收到发布者发过来消息,并且topicA是A时,就会把消息推送给订阅了topicA是A的订阅者。当然也有可能是订阅者自己过来拉取,看具体实现。

    也就是说,发布订阅模式里,发布者和订阅者,不是松耦合,而是完全解耦的

  • 相关阅读:
    yolo2 anchor选择校招总结
    rfcn校招总结
    cascade rcnn
    sort论文和代码解读
    重要的观点
    代办项
    stixel上边缘
    resnet densenet
    最小二乘法和线性回归
    逻辑回归原理
  • 原文地址:https://www.cnblogs.com/xuwupiaomiao/p/12079403.html
Copyright © 2011-2022 走看看