技术开发 频道

组件复用让软件开发事半功倍

三.主流组件复用技术

  面向对象技术的组件模型为软件体系结构设计和大型应用软件开发给予了强有力的支持,目前已经为开发者广泛接受。现在主要有两种组件模型统治着市场:微软的OLE/COM和Sun的JavaBean/EJB,它们构成了实现级组件模型工业标准的竞争与互操作并存的格局。
  
  (1)Sun/JavaBean
  JavaBean是基于Java环境,可视的、可操纵的和可复用的组件。JavaBean为软件构造工具所利用,也能通过程序接口直接操纵,Java类库中提供了相应的控制类。JavaBean系统扩展了JavaApplet以适应基于组件的软件开发所需的更复杂的软件组件。JavaBean组件模型是Sun制定的关于Bean的软件组件标准,规定设计所有Bean所依据的框架,确保Bean在具备特定功能的同时,还能被可视化软件构造工具所识别、操纵,并能将这些设计信息保存下来,指导运行时的行为。
  
  作为可视化组件,所有JavaBean都具备如下特征:内省(introspection)机制,能够告诉软件构造工具其所能完成的功能,从而允许软件构造工具在设计时对其加以操纵。用户定制(customization)机制,允许程序员在软件开发阶段利用软件构造工具改变Bean的外观和行为方式。事件(event)机制,能捕捉事件、引发事件,并将其所能产生和处理的事件告知软件构造工具。特性(properties)机制,除在软件开发阶段支持用户定制外,还使得软件系统能够在运行时刻对Bean进行加工和控制。保持(persistence)机制,保存程序员开发时利用构造工具对Bean所做的修改,并在运行时予以恢复。
  
  (2)OLE/COM
  微软的OLE/COM是基于分布式对象模型的开放标准,得到许多系统软件开发商、独立软件开发商(ISV)和用户的支持。OLE实际上是建立在组件对象模型(COM)基础上的一组高层次技术。从基本中间件功能视图的角度来说,COM支持对象的定义、创建、调度、引用及对象之间的通讯,提供接口定义语言(IDL)。
  
  COM支持由不同程序设计语言或不同编译器实现的对象之间的二进制兼容。OLE/COM结构的另一要素是Automation,允许客户程序动态构造请求(包括方法名、相关参数的类型和取值等),并将请求发送到远端对象,任何符合OLE/COM规范的对象都能自动提供其所能支持的接口信息。
  
  总而言之,软件复用在本质上都是为了快速适应不断变化的需求。但当我们过于注重软件复用时,千万需要牢记一点:快速适应不断变化的需求才是根本目的,它的重要性要重于软件复用技术本身。

0
相关文章