tempad
Readygo技术搜索引擎 >>项目管理 >> 请各位都来讨论一下COM与DLL的问题

请各位都来讨论一下COM与DLL的问题

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 4:58:30

请各位都来讨论一下COM与DLL的问题

楼主qwas(qwas)2002-11-07 12:30:33 在 C++ Builder / BCB茶馆 提问

最近考虑作一个抽象的程序框架,然后将实际的功能做成插件,然后由框架来完成事件的发布,协调整个程序的工作。在选择插件的开发方式上我陷入了一个从未考虑过的问题:到底应该选择COM还是DLL。  
          毋庸置疑的是,DLL的工作效率和开放性是我想利用的,我几乎可以将DLL作为本模块的一部分来使用,不用考虑进程、地址空间、调度、资源等等的一切事情,因为它正如其名——动态连接库,它在系统中是不被分配任何资源的,它使用主程序的资源。  
          但是,Windows发展到今天,COM技术非常成熟,微软号称他的Windows2000就是一个COM的集合。是不是它真的就无所不能了呢?我想来想去,总觉得它的优势仅仅在于跨语言特性、DCOM的跨机器特性、COM+的负载均衡等等比较高级的方面。而我希望的程序不但不要求这些优势,在接口方面的限制反倒让我觉得比较的难于取舍。  
   
          请有见解的兄弟发表一下意见,给我一个参考。谢谢! 问题点数:0、回复次数:1Top

1 楼TopCat(令狐虫)回复于 2002-11-07 13:56:27 得分 0

“在接口方面的限制”?  
  请问COM在接口方面有什么限制?如果你指的是不用原生类型,那么我告诉你,那是COM的“建议”,而不是限制。你在接口方法里使用原生类型,甚至指针,COM都不会有什么怨言,但是跨语言调用当然就会出问题,但是如果你不希望那样,就没关系了。  
   
  COM的思想显然要先进和成熟的多,首先你必须明白一件事情,COM是实务派而不是学院派的产物,也就是说,COM诞生的时候,不是在那种什么情况都不考虑的理想环境下,而是在实际应用的场合。因此,它里面考虑了很多实际可能遇到的问题,比如版本问题、线程问题、效率问题等等。这些问题在COM里都得到了很好的解决,想想你写DLL时,是怎么考虑线程安全性的?  
   
  它的面向组件的思想,还能使得你更好的去考虑整个框架的设计问题,利用接口,你可以写出更好的抽象框架,可以更好的实现复用,这些COM带给你的好处,为什么不考虑呢?  
   
  如果说COM有什么缺点,我想就是它比较复杂。Top

责任编辑: efish 参与评论 查找更多:
相关文章
如何向TWordApplication中插入图片 如何向TWordApplication中插入图片
sametime3.1登录及管理问题! sametime3.1登录及管理问题!
请问各位大侠,windows中点标题栏的问号(?)然后点击… 请问各位大侠,windows中点标题栏的问号(?)然后点击控件显示帮助的效果在delphi中如何实现?
我想问一下,程序试用30次后出对话框提示该怎么写? 我想问一下,程序试用30次后出对话框提示该怎么写?
请大虾们帮忙,ASP对ACCESS数据库的连接 请大虾们帮忙,ASP对ACCESS数据库的连接
救救小妹!类似163信箱上传附件的问题,问题解决100… 救救小妹!类似163信箱上传附件的问题,问题解决100相送!
今天参加了无偿献血,整个过程比较顺利,高兴,散分… 今天参加了无偿献血,整个过程比较顺利,高兴,散分!^_^
今天我生日,送分! 今天我生日,送分!
请教AMERICAN_AMERICA.ZHS16CGB231280 字符集和java… 请教AMERICAN_AMERICA.ZHS16CGB231280 字符集和java问题(急,在线等)
INTEDIVE的帮助那有下载的????? INTEDIVE的帮助那有下载的?????
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎