新闻动态
COM应用程序的优缺点
https://www.sytm.net 发布日期:2013/8/3 7:59:25

COM+是微软的前一个应用程序开发框架,COM应用程序(combine object model)意思是组件对象模型,它是一种非常务实的方式来处理软件设计。它不是根据学院派的面向对象编程理论来提供解决方案,而是充分考虏了人的自然因素以及资本的因素。它于1991年面世。从效果上看,COM是这样一种架构:如果你一招COM的规则创建类型,那么最后能创建一个可重复用的二进制模块。这些COM代码的二进制大对象常称为"COM服务器"。

COM应用程序优点之二进制

二进制com服务器的优点在于,他能以语言无关的方式被访问。也就是说,C++程序员创建的COM类可以被VB6调用,Delphi程序员可以调用有C创建的COM类等。不过你可能已经注意到,COM的语言无关性还是有一些限制的。例如,没有办法用已有的COM类来派生新的COM类。

COM应用程序优点二位置的透明性

使用诸如系统注册表、应用程序标示符、存根、代理和COM运行库环境这样的结构,程序员可以避免与原始套接字、RPC调用和其他的底层细节交互。看看下面的VB6com客户端代码。这个mycomclass类型可以有任何支持com的语言编写,该类可以位于网络上任何位置(包括本地机器),Dim obj as MYCOMCLASS ' 用APPID解析的位置obj.DoSomeWork。

COM应用程序的不足

尽管COM被认为是一个非常成功的对象模型,但是表面的背后还是过于复杂了(特别是如果你的是一位C++程序员,在花费数月深入研究COM后就会得到这样的结论)!为了简化COM二进制开发的复杂性,已经出现了相当数量支持COM的框架,如ATL提供了一组简化创建COM服务器的C++类、模板和宏。很多其他语言也做出了努力,把大部分COM基础结构隐藏起来。不过,单单是语言的支持是不足以隐藏com的复杂性的。即使选择相对较简单的支持com的语言(如VB6),仍然不得不面对脆弱的组件注册问题以及很多与部署相关的问题(同城DLL地狱)。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览