JAVA 发布订阅者模式与观察者模式区别

JAVA 发布订阅者模式与观察者模式区别

一、发布订阅者模式

1、概念

订阅者把本身想订阅的事件注册到调度中心,当该事件触发时候,发布者发布该事件到调度中心(第三方),由调度中心统一调度订阅者注册到调度中心的处理代码。

2、优缺点

优势
(1)一对多。
一个发布者能够绑定多个订阅者,当事件触发时,由调度中心所有通知。

(2)解耦。
发布订阅者模式中,订阅者是不知道也不关心事件是为何触发,是由哪个事件触发,只知道事件触发时候,会告诉本身。发布者也不用一一通知,只要告诉调度中心,事件触发了就行了。因此代码松耦合。
(3)程序便于扩展。
缺点:
(1)实现方式麻烦

二、发布订阅者模式与观察者模式区别

  • 在观察者模式中,观察者是知道Subject的,Subject一直保持对观察者进行记录。然而,在发布订阅模式中,发布者和订阅者不知道对方的存在。它们只有经过调度中心进行通讯。
  • 在发布订阅模式中,组件是松散耦合的,正好和观察者模式相反。
  • 观察者模式大多数时候是同步的,好比当事件触发,Subject就会去调用观察者的方法。而发布-订阅模式大多数时候是异步的(使用消息队列)

 

posted @   整合侠  阅读(484)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2018-08-15 jQuery事件
2018-08-15 jQuery:$(document).ready()用法
2018-08-15 jQuery选择器
2018-08-15 Python3.x:免费代理ip的批量获取并入库
2018-08-15 Python3.x:自动生成IP写入文本
点击右上角即可分享
微信分享提示