组件技术
1.什么是组件技术
组件技术是指将复杂的应用软件拆分成一系列软件单元,即组件,这些组件具有可现行实现、易于开发、理解和调整等特征。组件技术是一种社会化的软件开发技术。
2.组件技术的内容
用可重用的组件来构造应用程序。软件的组件化不需要代码的重新编译和连接,而是真接将组件作为功能模块在二进制代码级用于软件系统的装配。组件技术的基本思想是将复杂的大型系统中的基础服务功能分解为若干个独立的单元,即软件组件。利用组件之间建立的统一的严格的连接标准,实现组件间和组件与用户之间的服务连接。连接是建立在目标代码级上的,且与平台无关。只要遵循组件技术的规范,任何人可以用自己方便的语言去实现可复用的软件组件,而应用程序或其它组件的开发人员也可以按照其标准使用组件提供的服务,而且客户和服务组件任何一方版本的独立更新都不会导致兼容性的问题。这犹如在独立的应用程序间建立了相互操作的协议,从而在更大程度上实现了代码重用和系统集成,降低了系统的复杂程度。组件技术将面向对象特性(例如封装和继承)与(逻辑或物理的)分布结合起来。
事实上,组件技术不是一个明确的范畴,在一定程度上,根据Szyperski(1997)的观点,它是进行操作的一个场所。组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。由于组件技术的出现,软件开发的方式有了很大的变化,可以把软件开发的内容分成若干个层次,将每个层次封装成一个个的组件,在构建应用系统时,将这些个组件有机地组装起来就成为一个系统,就象是用零件组装出一台机器一样。我们可以按需要设计出许多组件,在构建应用系统时可以根据自己的应用需求选择需要的组件,若发现某个组件有问题,只需要对它进行修改或替换掉就行了,而不必象传统开发方法那样对整个系统进行重构;同时,一个组件可以被多个应用系统使用。可以看出,组件技术的应用,可以使软件的可维护性和可重用性大大提高,显著地减少了应用软件开发的复杂度,避免了软件资源的极大浪费。