数据库中数据项变化不定,如何设计Java Beans(1)
· 1、前言
我们不只一次抱怨信息系统中数据项变化不定,无法设计和实现Java Beans。我们也不只一次作过这样的事情:数据项增加或减少了,我需要修改信息系统以求适应。我们对付这种变化莫定的需求还有一招:天天催企业领导或业务人员决定数据项,而不开始下面的设计和开发,还美名其为一个需求的"需求里程碑"没到,至少这个需求相关的设计和开发绝对不能开始。本文为这种情况提供了一种解决办法,并美名其为"以动制动"。
· 2、JavaBean属性
Java Beans 作为一种组件技术,其结构体系主要由属性、方法和事件构成。象在其它面向对象技术中一样,在Beans 中,属性同样起决定其当前状态的作用。一个Bean的属性的访问和设置都必须通过访问方法和设置方法来进行。
下面我们先举一个的示例,然后对Beans 组件技术中的属性支持进行解释。
public class Author{ protected string name; protected boolean married; protected string[] books; public string[] getBooks(){} public void setBooks(integer[] x){} public void setName(string n){} public string getName(){} public boolean isMarried(){} public void setMarried(boolean bl){} ...... } |
这是一个非常简单的Bean,其中类的修饰符必须是public还有就是setXXX()/getXXX()方法必须遵循Beans内部的命名规则,因为Beans是根据这两个方法来确定属性的。其实,setXXX()/getXXX()方法是Beans的属性机制的核心技术。
2.1 setXXX()/getXXX()方法
一个Bean属性的定义完全取决于有无访问者方法:设置器(setXXX())和获取器(getXXX()),而与在类定义中有无显示说明字段毫无关系,即上例中删去那些protected修饰的字段与Bean毫无影响,因为Beans内部是根据有无访问方法来确定属性的存在与否的。为了使Beans能确认一个属性,其设置器(setXXX())和获取器(getXXX())必须遵循下列命名规则:
·一个属性名在访问方法中必须以大写字母开头;
·在其它地方以小写字母开头。
当然我们并不要求每个属性都必须同时拥有这两种访问者,因为我们并不排除某个属性只可读或可写。每种类型的属性的设计必须遵循的规则叫这种属性的设计模板,下面介绍各种类型属性的设计模板。
·2.1.1 简单属性
一个属性为简单属性,当这个属性不与外界有连带关系时。简单属性中由于类型的复杂程度又有简单类型属性和数组属性之分。
1、简单类型属性的设计模板
布尔型:
设置器:public boolean is<属性名>(){}
获取器:public void set<属性名> (boolean bl ){}
其它类型的属性的设计模板如下:
设置器:public void set<属性名>( <属性类型> x ){}
获取器:public <属性类型> get<属性名>( ){}
2、数组属性的设计模板
单个元素的设计模板
设置器:public void set<属性名>( int i ,<属性元素类型> x ){}
获取器:public <属性元素类型> get<属性名>( int i ){}
整个数组的设计模板:
设置器:public void set<属性名>( <属性元素类型> [] x){}
获取器:public <属性元素类型>[] get<属性名>( ){}
对于简单属性,不需要另外的附加类或接口。
(未完待续)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/