Y ynduanlian Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #1 C++不熟,《COM本质论》第一章就看不明白,COM 比传统的 DLL,有什么优点? COM能实现软件二进制复用,而传统的DLL也是软件二进制复用啊。
M muhx Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #2 COM是一种思想,DLL是实现的手段,两者不是一个层面的东西 不过将DLL作为以前函数库来理解,主要区别在于 传统DLL用于封装函数,比如Windows API,实际使用的是DLL中的函数 COM是对象,里面就包含了数据和服务,它可以使用EXE来实现(进程外COM)和DLL来实现(进程内COM),COM+只能使用DLL来实现 比喻一下:传统的DLL用法就像全局函数,COM用法就像类的实例 另外,很不幸的是,微软的很多技术都是来的快去的也快,比如COM在现在的操作系统中已经不被微软列为组件模型使用了,而是作为核心服务,现在微软推广的是.Net架构 另外,COM类似于CORBA和EJB COM对于开发语言来说最大的贡献,我认为是提出了单独的“接口”这个概念(以前一般使用抽象类实现接口)
COM是一种思想,DLL是实现的手段,两者不是一个层面的东西 不过将DLL作为以前函数库来理解,主要区别在于 传统DLL用于封装函数,比如Windows API,实际使用的是DLL中的函数 COM是对象,里面就包含了数据和服务,它可以使用EXE来实现(进程外COM)和DLL来实现(进程内COM),COM+只能使用DLL来实现 比喻一下:传统的DLL用法就像全局函数,COM用法就像类的实例 另外,很不幸的是,微软的很多技术都是来的快去的也快,比如COM在现在的操作系统中已经不被微软列为组件模型使用了,而是作为核心服务,现在微软推广的是.Net架构 另外,COM类似于CORBA和EJB COM对于开发语言来说最大的贡献,我认为是提出了单独的“接口”这个概念(以前一般使用抽象类实现接口)
H HNXXCXG Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-29 #3 com+是MS作为分布式解决方案提出来的。 将业务类封装成组件,安装在服务器端。而客户端只包含界面的瘦客户。业务和界面空间分离。升级软件只要升级服务器端。 COM编译之后的物理文件是DLL。 我想说的是传统意义上的DLL一样可以封装对象。不使用COM技术。 COM+是WINDOWS2000、XP标配。 COM+不能穿透防火墙。 COM+在一段时间内还是有生命力的。就算不用它,体会它的思想也是好的。
com+是MS作为分布式解决方案提出来的。 将业务类封装成组件,安装在服务器端。而客户端只包含界面的瘦客户。业务和界面空间分离。升级软件只要升级服务器端。 COM编译之后的物理文件是DLL。 我想说的是传统意义上的DLL一样可以封装对象。不使用COM技术。 COM+是WINDOWS2000、XP标配。 COM+不能穿透防火墙。 COM+在一段时间内还是有生命力的。就算不用它,体会它的思想也是好的。