当前位置: 首页 > news >正文

29、深入理解松散耦合事件(LCEs)与 COM+ 事件机制

深入理解松散耦合事件(LCEs)与 COM+ 事件机制

1. 松散耦合事件(LCEs)概述

传统的紧密耦合事件(TCE)技术虽然有用,但在某些场景下存在明显缺点:
-生命周期紧密耦合:发布者和订阅者的生命周期紧密相连,订阅者必须运行并连接到发布者才能接收事件。在企业系统中,要求订阅者始终运行的扩展性不佳。
-不适应分布式环境:TCE 技术未考虑分布式环境,像连接点技术在建立和断开连接时所需的往返次数较多,效率不高,且无法保证持久连接。
-缺乏事件过滤机制:订阅者可能会收到所有事件,即使只对部分事件感兴趣。

为解决这些问题,可采用松散耦合事件(LCE)系统。在 LCE 系统中,发布者和订阅者在更高抽象层次上绑定,二者生命周期不再紧密耦合。若订阅者在事件触发时未运行,系统会自动启动它;订阅者也可在无发布者运行时订阅事件。

实现 LCE 系统的一种简单方法是让发布者维护一个包含订阅者 CLSID 的外部数据库。当触发事件时,发布者遍历数据库中的每个 CLSID,实例化对象并调用其方法。不过,这种设计存在两个问题:
- 每个发布者都需开发和维护管理订阅数据库的代码。
- 缺乏订阅事件和定义事件过滤器的标准流程。

COM+ 定义了一种标准机制来发布和订阅 LCE 事件,即 COM+ 事件,解决了上述问题。

2. COM+ 事件架构

COM+ 事件架构提供了管理和维护订阅数据库的内置逻辑,同时定义了发布者宣传事件信息和订阅者定位并订阅事件的标准格式。其架构

http://www.cnnetsun.cn/news/137054.html

相关文章:

  • YOLO深度学习模型的训练参数配置与优化
  • 数字孪生可视化模板怎么用?5大行业Demo拆解,帮你快速复用提效
  • 必藏!程序员转型AI大模型:机遇、路径与成功率拆解
  • 《智构空间:AIOS 与全时域 3D 交互范式》第 0 篇:前言 —— 触摸语义的厚度
  • 如何将照片从 Android 传输到 Android
  • 前端Vue使用js-audio-plugin实现录音功能
  • 测试用例之翻页功能详解
  • 音乐平台歌曲盗版维权全攻略:权利卫士录屏取证+可信时间戳认证实操指南
  • 根据您提供的 package.json 片段,涉及的 @vue/cli-plugin-babel 和 @vue/cli-service 版本为 ~4.2.0。以下是针对该版本的详细解决方案,结合相关依
  • electron-egg打包win7
  • 8种网络故障分析及测试命令大全
  • 新人必看盘点知名CTF练习靶场,从零基础入门到精通,收藏这一篇就够了!
  • Pythonselenium自动化测试实战项目
  • 关于Comtos Linux (朱雀)主体源码的选择
  • 超级Mini小车功能说明
  • STC32G12单片机替换成STC32F12单片机,直接替换的结果
  • SIEMENS 6SL3210-1PE33-0CL0 变频器
  • 软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联网高效进阶)
  • 【RTOS】EasyLog的移植与使用
  • 在数据库里玩“平行宇宙”:MatrixOne Data Branch 让数据也拥有Git 的分支/合并/对比/回滚(含跨集群同步)
  • 基于单片机的全自动洗衣机系统的设计
  • 5.6 模型部署与智能体集成实战
  • 基于单片机的球赛计分牌的设计
  • ArcGIS Pro 从入门到实战基础篇(10):地图菜单
  • Kotaemon与Redis/Memcached集成:构建高速缓存层
  • 【鸿蒙三方库编译】lycium_plusplus(lycium++)高效完成鸿蒙C/C++编译
  • 2025年度GEO服务商权威甄选指南:技术深度与商业价值的双重考量
  • 收藏备用!Java程序员转AI大模型:从技术沉淀到AI爆发的进阶之路
  • Python 爬虫实战:Session 会话维持爬取需登录内容
  • 基于移相全桥变换器的电池充电仿真模型,采用电压电流双闭环PI控制。 电池先经历CC模式而后进入...