14.1 软件组件模型
软件组件是分离的、可重用的软件部分,可以方便的将其装配以创建各种应用程序,提高了开发效率
JavaBeans技术是一种跨体系结构和平台的API,用于创建动态Java软件组件
软件组件大致可以分为两类:
可视化软件组件 :例如 按钮
非可视化软件组件 :例如 定时器
组件模型还负责提供下列服务
自检;
事件处理;
持久化;
布局;
应用程序生成器支持;
14.2 javaBean概述
JavaBean是可以复用的平台中立的软件组件,是一组用于构建可重用组件的Java类库。可以将一组
JavaBean装配成应用程序或Applet
一个JavaBean由三部分组成:属性、方法和事件
1.属性(proterty):通常是组件对象中的私有数据成员,外界不能够直接访问,需要通过专门的访问(accessor)方法才能访问
负责读取的accessor方法称为getter方法,负责写入的accessor方法称为setter方法。
public String getName();
public void setName(String value);
2.方法(method)
3.事件(event)
14.3 javaBean的特性
1. 内省(introspection)
是组件可以向外界暴露其支持的方法,事件和属性的机制,也是支持在程序构建工具中发现其方法、事件和属性的机制。
组件模型通过两种方式支持内省:
1)命名模式(Design Pattern),在对Bean的属性,事件,方法等特性命名的时候遵循一定的设计模式,这样,依赖于
Java的反射API 中的Introspector类就能够识别出Bean的特性。
2)BeanInfo类,是一个实现了接口BeanInfo的类,在其中列出了Bean向外界暴露的方法,属性和事件
2.属性(Properties)
Bean的内部状态、外观和行为特征,在设计时可以改变。程序设计工具可以通过Bean的内省机制来发现。
3.定制(Customization)
Bean通过发布其属性使其可以在设计时被定制。有两种方式实现定制:属性编辑器和Bean定制器。
4.通信(Communication)
Beans之间通过事件进行交互,一个Bean通过向另一个Bean注册,能够接受它感兴趣的事件。程序构建工具可以检测到一个
Bean可以接受和发送的事件。
5.持续(Persistence)
使Bean可以存储和恢复其状态。一个Bean的属性被修改后,能够通过对象的持续化机制保存下来,并可以在需要的时候恢复
14.4 javaBean的属性
4.1 属性的类型分为
简单
索引
绑定
限制属性。
一个属性可以属于多个类型,例如,限制属性还应为绑定属性。
简单属性是指对象内部的简单变量,它表示一个单独的值,并且通过getter方法和setter方法的组合进行读取和设置。
用于访问简单属性的命名模式如下:
public T getN();
public void setN(T value);
其中,T是属性的类型,N是属性的名称。如下面的代码:
public String getName();
public void setName(String s)
4.2 索引属性是用于处理数组及其单个元素的属性,它包含类型相同的元素。可通过整型下标访问这些元素,因此它们成为索引属性。
public T getN (int index);
public T[ ] getN( );
public void setN(int index, T value);
public void setN(T values[ ]);
4.3 绑定属性是在被修改时向其它对象提供通知的属性。绑定属性需要向Bean注册外部监听器,一旦修改绑定属性的值,
监听器就会得到通知。
具有绑定属性的Bean应支持事件监听器的注册方法,注册监听器的方法采用实现PropertyChangeListener接口的对象作为其唯一
参数。
public void addPropertyChangeListener(PropertyChangeListener l)
public void removePropertyChangeListener(PropertyChangeListener l)