软体组件
在现代软体工程的开发过程中,软体组件只是一个辅助或支撑系统构造的一个过程。
软体组件开发主要是开发与维护系统构造过程中用到的组件。将软体组件作为一个单独的过程,目的是将组件作为构造软体的“零部件”。随着软体技术的不断发展及软体工程的不断完善,软体组件将会作为一种独立的软体产品出现在市场上,供套用开发人员在构造套用系统时选用。
基本介绍
- 中文名:软体组件
- 优点::位置透明性:
- 定义:支撑系统构造的一个过程
- 性质:为自包含的、可程式的、可重用的
定义:
为自包含的、可程式的、可重用的、与语言无关的软体单元,软体组件可以很容易被用于组装应用程式中。
优点:
位置透明性:
无论组件位于什幺位置,组件的调用者应该能够使用同样的方法获取组件信息(定位)并调用组件,而与组件的位置无关。
使用接口技术:
组件的接口和组件的实现相分离,甚至调用者使用的接口和组件并不在同一位置,调用者只需要知道接口并访问接口就可以使用组件。接口相对固定,组件功能和实现的变化不应该引起接口的变化,而且接口是二进制协定,与语言无关。
自描述性:
组件应该是自描述的,调用者应该能够使用统一的方法获取组件的接口信息,接口信息与语言无关
可重用性:
组件应该能够以二进制方式方便地被重用者重用,与语言无关。
安全性:
组件应该是安全的,不应该允许任何的未授权使用、非法使用或者恶意使用。
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是一个可重複使用的软体组件
还有其他组件欢迎添加