还得转贴了:
COM/DCOM的区别与联系     其实这种提法本身就及不科学,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的一种存在形式,具有许多共同点. Copyright(C)傅贵,最后更新日期:1998年1月13日 

解决方案 »

  1.   

    你给的分数实在是很多,我要是能用简短的几句话说明白---我现在也不编程了.我不直接回答你的问题,只是想谈谈我的看法.
    1.DCOM(Distributed COM)从概念来讲,就很明白了----分布式COM组件.也就是本来就是COM的子集.
    2.从COM到,DCOM,再到MTS,COM+(下一代的MTS),人们一直都在相信COM技术能够给软件带来多大的好处(至少我现在还这样认为,毕竟他还是解决问题的一种模式----虽然很多人都在极力的回避他----仅仅因为他用起来繁杂,难于编写健壮程序),但从MS在COM上的发展来看,总让人觉得他还想不想搞了---发展速递实在是太慢了.从MS自己的资料来看,还有很多本身就含糊其词.
    当然,也可能是我孤陋寡闻,自己本身好象并不怎么真的理解,在这里横加指责.
    3.在解决多层结构问题时,似乎离不开COM这种东西(当然还有Unix下的CORBA).
    4.COM的效率一直是影响他的声誉的一个重要因素----也许这本来就跟Windows的平台结构有关,天生的具有某些不足.我自己的一点看法,敬请各位高人指教.
    敬请各位关注,尤其是对COM+的发展 发表看法,COM究竟能走到一个什么地步.