软件组件开发
随着软件应用领域的日渐广泛,对软件的功能需求也日趋复杂,软件的规模越来越大,其开发和维护的难度也越来越大,因此从20世纪60年代开始就出现了“软件危机” (software crisis)。
解决“软件危机”的关键是解决软件固有的复杂性问题,提高软件开发的效率。而“软件组件”技术则可以在最大程度上降低软件开发的复杂性,提高开发效率。
软件组件(Software Component)是指具备一定功能,可以独立分离的,易于重复使用的软件部分。
JavaBean作为一种跨体系结构和跨平台的API,不但保留了其他软件组件技术的精华,而且还增加了被其他软件组件技术忽略的技术特征,使得它成为完整的软件组件解决方案的基础。
JavaBean的概念
JavaBean的主要设计目标如下:
1.紧凑而方便地创建和使用
2.完全的可移植性
3.继承Java的强大功能
4.开发工具支持
5.分布式计算支持
JavaBean被定义为“一种可在开发工具中可视化操作的,可复用的,平台独立的软件组件”
一个JavaBean就是一个独立的,具备一定功能的软件组件,其由一组遵循某种严格协议的Java类库构成。
开发者可以直接利用一组JavaBean构成一个应用程序或Applet。
JavaBean具有下面的特性:
1.支持自检,这样构造器才能分析bean是如何工作的;
2.支持定制,这样用户才能使用应用程序构造器工具定制bean的外观和行为;
3.支持事件处理,这样bean才能与外部进行通信;
4.支持属性,这样bean才能具有内部的状态,以便于定制和开发应用;
5.支持持久性,这样bean才能在应用程序构造器工具中定制,并将定制的状态存储起来以便随时使用。
JavaBean的任务就是:“Write once,run anywhere,reuse erverywhere”,即“一次性编写,在任何地方执行,任何地方重用”。
JavaBean与Java一般类的区别在哪里呢?
Java一般类能够为用户创建可重用的对象,但它却没有管理这些对象相互作用的规则或标准。JavaBean通过定义对象之间交互作用的机制,建立了自己的组件模型。
Java组件模型可以运行得很好,但在传送真正的可重用性和交互操作性上仍然非常有限,而JavaBean提供了一个框架包,使用这个包进行组件间的通信就容易多了。
JavaBean组件能够通过定义好的标准属性进行对组件本身进行修改与定制。
一个JavaBean没有必须继承的特定的基类或接口。
JavaBean比较合适于那些具有可视化操作和定制特性的软件组件。
JavaBean的基本结构
JavaBean可以看成是一个黑盒子,即只需知道其功能而不必管其内部结构的软件设备。
JavaBean组件的公共特性有属性、方法和事件。
属性是JavaBean的组成部分。
方法是JavaBean可提供的行为或服务。
事件是JavaBean对特定事件发生时所提供的响应。
有三种不同的使用者与JavaBean有关:JavaBean组件开发者(创建JavaBean组件)、应用程序开发者(利用JavaBean组成创建应用程序)和最终用户(应用程序的使用者)。
JavaBean组件开发者;
应用程序开发者;
最终用户;
Bean的使用方式有多种,Bean可与应用程序生成器工具一起使用,也可用于手写代码。
在应用程序开发工具中使用JavaBean;
在手工编写的代码中使用Bean;