-
定义:
为自包含的、可编程的、可重用的、与语言无关的软件单元,软件组件可以很容易被用于组装应用程序中。
-
优点:
位置透明性:无论组件位于什么位置,组件的调用者应该能够使用同样的方法获取组件信息(定位)并调用组件,而与组件的位置无关。使用接口技术:组件的接口和组件的实现相分离,甚至调用者使用的接口和组件并不在同一位置,调用者只需要知道接口并访问接口就可以使用组件。接口相对固定,组件功能和实现的变化不应该引起接口的变化,而且接口是二进制协议,与语言无关。自描述性:组件应该是自描述的,调用者应该能够使用统一的方法获取组件的接口信息,接口信息与语言无关可重用性:组件应该能够以二进制方式方便地被重用者重用,与语言无关。安全性:组件应该是安全的,不应该允许任何的未授权使用、非法使用或者恶意使用。
-
COM技术与普通面向对象技术的比较
COM(COM+)技术普通面向对象技术创建对象(组件)由类厂自创建,使用者只用通知类厂。使用者创建使用对象(组件)只通过指针的方式使用组件的接口直接使用类的对象删除对象(组件)减少引用计数,组件自身删除。使用者删除对象(组件)的定位和描述注册后的组件,COM环境提供的函数可以统一地定位组件。组件通过类型库自描述。对象类(或者类库)必须和调用者在一起。必须提供语言相关的头文件或者单元。重用通过包容和聚合重用(二进制重用)安全性COM+有安全性引擎自己实现安全性结果位置透明,接口固定,自描述,重用方便,安全。无COM的这些优点
-
几种现代软件组件和技术的比较
COM/COM+ 1.0.NET Assembly(COM+ 2.0)Web Service位置透明COM环境完成组件定位,通过对接口的列集(Marshal)实现位置透明.NET环境完成Assembly定位,通过通道(实际上还是列集)实现位置透明UDDI协议完成Web Service定位,通过HTTP/SOAP/XML协议实现位置透明接口技术使用COM接口使用.NET接口或者属性/方法使用Web方法自描述性使用类型库使用元数据(Metadata)使用WSDL可重用性可二进制重用可二进制重用可二进制重用安全性有安全性引擎有安全性引擎有安全性引擎JavaBean是一个可重复使用的软件组件还有其他组件欢迎添加