ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

发布订阅模式和观察者模式

2022-04-09 20:34:27  阅读:223  来源: 互联网

标签:订阅 自动更新 观察者 模式 调度 发布者


参考文章

https://www.mianshigee.com/note/detail/55937pjh/

设计模式

  • 是一种解决方案,是一种思想
  • 不局限于软件行业
  • 《设计模式》是一本介绍软件好的设计的书

观察者模式

  • 当一个对象发生改变,所有依赖它的对象都会改变,自动更新
  • 观察者和被观察者之间是直接通讯的
  • 观察者直接观察被观察者,当被观察者被激活,会触发观察者里的事件
  • 由被观察者调度,每个被观察者都有对观察者的处理,这种处理方式直接粗暴,但容易造成代码冗余

发布订阅模式

  • 发布者(消息发送者)不会直接把消息给订阅者
  • 发布者和订阅者之间有个调度中心,它会过滤发布者发来的信息并分发给对应的订阅者
  • 订阅者把自己想订阅的事件注册在调度中心,当发布者发布这个事件到调度中心,调度中心就会调度订阅者注册的处理代码
  • 发布者和订阅者互相不干扰,实现了解耦,还可以实现更细的控制。比如,一个消息不想所有的订阅者都接收到,可以设置权限

区别

  • 最大的区别就是发布订阅模式有个调度中心
  • 二者的目的都是一样的,实现一对多的依赖关系,自动更新。实现方式和结构,有所不同。

标签:订阅,自动更新,观察者,模式,调度,发布者
来源: https://www.cnblogs.com/phoenixzhang/p/16123298.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有