设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> Visual C++ >> 对象标准COM和CORBA论长道短
精品推荐
Visual C++点击TOP10
·用WINSOCK实现聊天室的VC++程序设计
·利用mfc编写activex控件
·用vc实现生产者消费者问题
·DirectX8.0
·C/C++ 大量经典编程书籍下载
·VC快捷键大全
·CreateFileMapping的MSDN翻译和使用心得
·Windows环境下的麦克风录音系统
·挂钩Windows API
·如何开发OPC Server
编程开发点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·ASP.NET 程序中常用的三十三种代码
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

对象标准COM和CORBA论长道短

作者: 来源:网络文章 时间:2005-12-13 18:42:41

对象标准COM和CORBA论长道短(3) COM提供了两种机制来取代实现继承性,这两种代码重用机制叫作抑制/代理和聚类,在前一种机制中,一个对象(外部对象)只要把内部使用的对象当作服务提供者来使用就可以使自己(外部对象)成为其他对象的客户了,外部对象的客户是绝不能看到内部对象的,这就是说某个对象的内部对象对于该对象的客户来说是完全隐藏的,这正是封装性的体现。
在聚类机制中,一个聚类对象实际上是一个合成对象,由外部对象和内部对象合成,外部对象把内部对象直接呈现给外部对象的客户,这时内部对象就象外部对象中的一部分一样,所以说聚类机制是一种特殊的抑制/代理机制。
4.本地透明性和远端透明性
COM允许客户透明地与对象通讯,客户在与对象通讯时并不知道对象在何处,客户访问对象完全是通过接口指针的,指针当然是在过程中的,而且每一次对接口的调用都要先与过程中的一些代码打交道。如果对象是在过程中的那么就可以直接调用该对象,若对象在过程之外,那么调用先与COM提供的代理对象打交道,产生一个远程过程调用,以调用其它过程中的或其它机器上的对象。
5.COM库
COM的核心就是规范说明对象及其客户的接口,COM本身也包含了一些系统级的代码,因此COM也有自己的实现,COM库就是系统组件,提供了COM机制。微软公司在Windows平台上的COMOBJ.DLL就是COM库的实现,WindowsNT和Windows95平台上COM库的实现是OLE32.DLLE。
三、COM与CORBA的比较
这两种标准的主要区别在于它们实现接口的方式:COM规定了一系列组件必须实现的接口,组件对象之间的相互作用必须经由这些接口,所有这些接口都必须由基接口IUnknown导出;CORBA则不规定基类,各厂商可以根据自己
的意愿去实现自己的类。
CORBA标准没有关于引用实现的规定,这是OMG考虑到各厂商切身利益而故意忽略的,而没有关于实现细节的明确规定这既是一大优点同时也是具有很多局限性的,因为在为厂商提供实现灵活性的同时,也招致了许多麻烦。如
无法统一管理、ORB不兼容、和缺乏可移植的服务器等问题。与此相反,COM则非常明确地规定了实现细节,但这种严格控制也能导致不良后果:解决方案不是最优方案。

COM与CORBA另一差异在于对实现继承性的不同处理,实现继承即是面向对象技术利用类层次中而实现的类的继承。接口继承性是指能够不依赖类层次而重用对象接口的能力,它体现了OO中的封装性的概念。微软则不以为然,它认为把实现继承应用到相互作用的对象模型中去是不恰当的,所以COM只支持接口继承而不支持实现继承。
IBM则声称一个真正的面向对象系统必须支持实现继承性,IBM在其SOM中实现了实现继承性。SOM是CORBA家族中的第一个成功产品,它诞生于1991年,IBM认为SOM是面向对象的,而COM则是基于对象的。
关于COM和CORBA这两大标准,还有一个不容忽视的问题———产品的级别和产品的种类。CORBA有许许多多的产品,支持跨网络的对象的相互作用。微软的OLE是COM产品,但它还不支持跨平台的对象的相互作用。
综上所述,Microsoft身为OMG成员却不支持CORBA标准而另辟COM标准,使COM成为CORBA及其已实现组件OpenDoc的直接竞争者。由于OMG的其他成员都没有把桌面软件作为战略重点,加上微软在桌面软件行业中已成为事实的霸主地位,COM实际上就成为桌面市场的工业标准。Digital已决定把COM移植到OpenVMS和OSF/1平台上,并建造沟通COM和CORBA的桥梁。微软正雄心勃勃地发展WindowsNT操作系统,以图取代Unix操作系统在服务器领域的地位,鉴于微软的实力及其市场占有率,这种可能性是很大的。如果在几年后,微软的愿望成为现实,大多数服务器厂商以WindowsNT做为服务器品质操作系统,那么分布式COM也就成为分布式互操作对象领域中的主角了。对于许多应用和开发环境来说,为了平衡基于组件开发的优势,COM可能
是明智的选择,在软件愈来愈复杂和专用的今天,基于组件的开发是不破坏整体性而控制软件复杂性的行之有效的方法。

共3页 9 7 [1] [2] [38 :>

对象标准COM和CORBA论长道短 相关文章:
对象标准COM和CORBA论长道短 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com