面向对象技术在软件重用和体系结构中的应用

本文探讨了面向对象技术如何促进软件组件的可重用性,如JavaBeans和CORBA。软件组件的发展从早期的模块化到基于对象的组件,强调了组件的聚合性、独立性和重用性。中间件如OLE/COM和CORBA提供了一种解决方案,允许不同系统间的对象交互。基于面向对象技术的应用软件体系结构通过组件和中间件实现了更好的开放性和集成性。
摘要由CSDN通过智能技术生成

面向对象技术提供了一种新的认知和表示世界的思想和方法,它对计算机工业的影响是深远的。

计算机从业人士利用它提出了面向对象的计算机程序设计语言、面向对象的软件设计方法、面向对象的数据库等等。同时面向对象技术为软件工业实现工程化提供了强有力的支持,正是面向对象技术造就了组件、构件、中间件等概念。

一、可重用软件组件

计算机的不断发展为计算机及网络应用提供了大量技术先进、功能强大的应用软件系统,同时也给软件开发者和用户带来了相应的问题:

· 软件系统规模庞大,研制周期长,维护费用高;

· 软件系统过于复杂,在一个系统中集成了各种功能,大多数功能不能灵活地装卸、单独升级或重复利用;

· 应用软件不易集成,即使各应用程序是用相同的编程语言编写的,并且运行在相同的计算机上,特定应用程序的数据和功能也不能提供给其他应用程序使用。

为克服上述困难,实现全行业范围内的软件"即插即用",关键是解决软件系统的可操作性、可扩展性、语言独立性和跨平台的操作能力。

作为解决这类问题的一种方案,面向对象的程序设计思想20多年来得到很大发展。孤立的面向对象思想虽然功能强大,但目前其发展已接近极限,结果是产生了大量的"对象孤岛"。将面向对象思想与组件编程思想相接合发展起来的基于对象的组件软件结构为这一领域开辟了新的道路。

从广义上说,软件组件是一种定义良好的独立、可重用的二进制代码,包括功能模块、被封装的对象类、软件框架和软件系统模型等。

本世纪60年代末到80年代初,结构化的模块式软件开发思想占主导地位,当时的组件的含义是指一些定义良好的方法包或功能模块。

80年代起,面向对象的软件开发思想迅速发展起来,这时的软件组件的含义就是类库。类虽然提供了封装性、多态性和继承性,但需要依赖于具体的编程语言,耦合度高,且需要用户对类库的结构和宿主语言有较深入的了解,因此,不能完全达到软件重用的可移植性和互操作性要求。

90年代后,组件的内涵进一步加强,聚合性、独立性和重用性进一步提高。目前,基于对象的组件软件体系结构中的组件是指可方便地插入到语言、工具、操作系统、网络系统中的二进制代码和数据。

这种软件组件可以看作是一种软件集成电路元件,具有以下特点:

· 软件IC没有硬件IC的天然聚合性,构成粒度大小自由,便于扩展;

· 通过规定一个统一的二进制标准,建立起机构之间的智能互操作机制和语言独立性;

· 外界仅通过接口访问组件;

· 多侧面性,即组件表达的语义层次高,可以从不同侧面进行连接,外部特性不唯一;

· 支持封装、继承、多态性。

基于经典面向对象技术的组件模型为软件体系结构设计和大型应用软件开发给予了强有力的支持,目前已经为软件行业所广泛接受。MicrosoftOLE/COMSunSoftJavaBeans都是典型的软件组件规范。

1.1 JavaBeans

Java Bean是基于Java环境的,可视的、可操纵的、可重用的组件;JavaBeans组件模型是SunSoft制定的关于Bean的软件组件标准,规定设计所有Bean所依据的框架,确保Bean在具备特定功能的同时,还能被可视化软件构造工具所识别、操纵,并能将这些设计信息保存下来,指导运行时的行为。

作为可视化组件,所有JavaBean都具备如下特征:

· 内省(introspection)机制,能够告诉软件构造工具其所能完成的功能,从而允许软件构造工具在设计时对其加以操纵;

· 用户定制(customization)机制,允许程序员在软件开发阶段利用软件构造工具改变Bean的外观和行为方式。

· 事件(event)机制,能捕捉事件、引发事件,并将其所能产生和处理的事件告知软件构造工具。

· 特性(properties)机制,除在软件开发阶段支持用户定制外,还使得软件系统能够在运行时刻对Bean进行加工和控制;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值