这种软件组件可以看作是一种软件集成电路元件,具有以下特点:
· 软件IC没有硬件IC的天然聚合性,构成粒度大小自由,便于扩展;
· 通过规定一个统一的二进制标准,建立起机构之间的智能互操作机制和语言独立性;
· 外界仅通过接口访问组件;
· 多侧面性,即组件表达的语义层次高,可以从不同侧面进行连接,外部特性不唯一;
· 支持封装、继承、多态性。
基于经典面向对象技术的组件模型为软件体系结构设计和大型应用软件开发给予了强有力的支持,目前已经为软件行业所广泛接受。Microsoft的OLE/COM和SunSoft的JavaBeans都是典型的软件组件规范。
JavaBeans
Java Bean是基于Java环境的,可视的、可操纵的、可重用的组件;JavaBeans组件模型是SunSoft制定的关于Bean的软件组件标准,规定设计所有Bean所依据的框架,确保Bean在具备特定功能的同时,还能被可视化软件构造工具所识别、操纵,并能将这些设计信息保存下来,指导运行时的行为。
作为可视化组件,所有JavaBean都具备如下特征:
· 内省(introspection)机制,能够告诉软件构造工具其所能完成的功能,从而允许软件构造工具在设计时对其加以操纵;
· 用户定制(customization)机制,允许程序员在软件开发阶段利用软件构造工具改变Bean的外观和行为方式。
· 事件(event)机制,能捕捉事件、引发事件,并将其所能产生和处理的事件告知软件构造工具。
· 特性(properties)机制,除在软件开发阶段支持用户定制外,还使得软件系统能够在运行时刻对Bean进行加工和控制;
· 保持(persistence)机制,保存程序员开发时利用构造工具对Bean所做的修改,并在运行时予以恢复。
· 设计时刻功能和运行时刻功能分离。
JavaBean主要用于可视化环境,为软件构造工具所利用,但也能通过程序接口直接操纵,Java类库中提供了相应的控制类。