news 2026/6/9 16:31:32

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
29、深入理解松散耦合事件(LCEs)与 COM+ 事件机制

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

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

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

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

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

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

2. COM+ 事件架构

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 7:44:22

Vue 3 的魔法:用 v-bind() 让 CSS 爱上 TypeScript 常量

最近在写一个视频编辑器的插值控制器面板时,遇到了一个典型的场景:左侧树形列表 360px,中间输入区 180px,右侧轨道区 1132px,总宽度 1680px。用户点击按钮可以隐藏/显示某些区域,宽度要动态调整。最优雅的不…

作者头像 李华
网站建设 2026/6/10 0:48:30

33、COM+ 应用管理编程指南

COM+ 应用管理编程指南 1. 编程考虑事项 在着手自动化一些常见的管理任务之前,有几个编程问题需要研究。 1.1 错误处理 与所有 COM 接口方法一样,COMAdmin 对象以 HRESULT 的形式返回错误代码。对于 C++ 程序员,这些错误代码在 <winerror.h> 中定义为 “COMADMI…

作者头像 李华
网站建设 2026/6/9 20:10:11

3D打印又上Nature!中国青年学者一作

导读&#xff1a;3D纳米制造技术正逐步从实验室走向工业化。尽管双光子光刻&#xff08;TPL&#xff09;在制造超高分辨率微纳结构方面具有独特优势&#xff0c;但由于传统光学系统视场有限&#xff0c;难以实现高速、规模化生产。Songyun Gu展示了一种超透镜阵列近日&#xff…

作者头像 李华
网站建设 2026/6/9 21:22:27

一文读懂神经网络分类:从基础架构到前沿融合

如今&#xff0c;“神经网络”早已不是陌生词汇——手机里的人脸识别、购物软件的精准推荐、AI生成的创意图片&#xff0c;背后都有它的身影。作为人工智能的核心技术之一&#xff0c;神经网络模拟人脑神经元的连接方式处理信息&#xff0c;但它并非单一形态&#xff0c;而是一…

作者头像 李华
网站建设 2026/6/9 21:23:04

python-uniapp微信小程序的汽车销售库存管理系统springboot_785h00gj

文章目录系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 python-uniappspringboot_785h00gj 微信小程序的汽车销售库存管理系统 项目技术简介 Python版…

作者头像 李华