其实这种提法本身就及不科学,DCOM本身就是COM的一种表现形式,但是由于大家听见COM一般就把它当成在本地执行的COM,而DCOM当然就是分布的COM,在网络上的另一台计算机上执行.于是就诞生了这篇COM与DCOM的区别与联系.
区别:
COM有两种存在形式,动态连接库和可执行程序,但DCOM必须是可执行程序.因为DCOM不可能在客户程序的内存空间运行,所以不能是动态连接库.
COM(动态连接库形式)可以不用RPC通信,而DCOM必须使用RPC远程调用.
COM(动态连接库形式)与客户共同存在于同一内存空间,调用速度快,DCOM的速度只有COM的万分之一.
COM(动态连接库形式)的安全性不高,客户程序可以造成服务COM发生错误,DCOM安全性高,原因也是COM与客户程序共用内存空间造成的.
COM程序配置简单,DCOM配置较复杂.毕竟DCOM牵涉到网络和安全性.
联系:
客户程序不必知道COM的存在形式,有统一的接口调用方式,客户程序甚至不知道COM对象的位置,可能在同一台计算机上,也可以在半个地球的另一面;
由于DCOM本身就是COM的一种存在形式,具有许多共同点.
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)