COM 和 DCOM 的区别


什么是 COM?

微软的组件程序架构 COM(组件对象模型)主要为 Windows 设计。它是 OLE 和 ActiveX 的基础,允许代码重用而无需重新编译。COM 中的组件是一个平台特定的二进制文件,符合条件的应用程序和其他组件可以使用它。

使用其服务的程序包括指向其标准化接口的指针,而不是访问组件的基础数据结构。因此,组件可以相互通信,而不管它们的工作方式或用什么语言编写。

COM 程序员使用 COM 感知组件来创建他们的应用程序。类 ID(CLSID)是全局唯一标识符,用于识别不同的组件类型(GUID)。每个 COM 组件都有一个或多个接口来公开其功能。接口 ID(IID)也是 GUID,用于区分组件支持的多个接口。

什么是 DCOM?

DCOM 是一种编程技术,允许计算机在远程计算机上运行程序,就像它们在本地运行一样。分布式组件对象模型 (DCOM) 是分布式组件对象模型的缩写。它是一个软件组件,使 COM 对象能够通过网络进行通信。

DCOM 是 COM 的扩展,它解决了 COM 模型的一些问题,使其在网络上更具优势 -

  • **封送处理** - 封送处理解决了将数据从一个 COM 对象实例传递到另一台机器上的另一个 COM 对象实例的问题;在编程术语中,这称为“传递参数”。

  • **分布式垃圾回收** - 分布式垃圾回收旨在扩展 DCOM 以处理大量互联网流量,还包括一个删除和回收已完成或已放弃的 DCOM 对象的机制,防止 Web 服务器内存被耗尽。然后,它与事务链中的其他服务器通信,通知它们事务的对象可供删除。

  • **DCE/RPC 用作底层 RPC 机制** - Microsoft 将 DCE/RPC 构建为 DCOM 的底层技术 - 其中 DCOM 中的 D 来自于此 - 以实现前面提到的目标,尝试扩展以支持大量 Web 流量。

下表重点介绍了区分 COM 和 DCOM 的主要要点 -

COMDCOM
它代表组件对象模型。它代表分布式组件对象模型。
COM 是一组在客户端环境中执行的组件工具。DCOM 在给定的服务器上运行。
COM 对象需要安装在要使用它的机器上。它需要安装在同一网络上的某个位置。
COM 是一种接口标准。DCOM 是为分布式应用程序设计的模型。
它允许对象的可重用性。它不允许重用。

更新时间: 2021年8月17日

5K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告