部件对象模型COM 比传统的 DLL,有什么优点?(34分)

  • 主题发起人 主题发起人 ynduanlian
  • 开始时间 开始时间
Y

ynduanlian

Unregistered / Unconfirmed
GUEST, unregistred user!
C++不熟,《COM本质论》第一章就看不明白,COM 比传统的 DLL,有什么优点?
COM能实现软件二进制复用,而传统的DLL也是软件二进制复用啊。
 
COM是一种思想,DLL是实现的手段,两者不是一个层面的东西

不过将DLL作为以前函数库来理解,主要区别在于
传统DLL用于封装函数,比如Windows API,实际使用的是DLL中的函数
COM是对象,里面就包含了数据和服务,它可以使用EXE来实现(进程外COM)和DLL来实现(进程内COM),COM+只能使用DLL来实现

比喻一下:传统的DLL用法就像全局函数,COM用法就像类的实例

另外,很不幸的是,微软的很多技术都是来的快去的也快,比如COM在现在的操作系统中已经不被微软列为组件模型使用了,而是作为核心服务,现在微软推广的是.Net架构

另外,COM类似于CORBA和EJB

COM对于开发语言来说最大的贡献,我认为是提出了单独的“接口”这个概念(以前一般使用抽象类实现接口)
 
com+是MS作为分布式解决方案提出来的。
将业务类封装成组件,安装在服务器端。而客户端只包含界面的瘦客户。业务和界面空间分离。升级软件只要升级服务器端。
COM编译之后的物理文件是DLL。
我想说的是传统意义上的DLL一样可以封装对象。不使用COM技术。
COM+是WINDOWS2000、XP标配。
COM+不能穿透防火墙。
COM+在一段时间内还是有生命力的。就算不用它,体会它的思想也是好的。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
605
import
I
后退
顶部