快速业务通道

数据库中数据项变化不定时如何设计Java Beans - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

数据库中数据项变化不定时如何设计Java Beans

时间:2011-01-19 IBM 龚永生

前言

我们不只一次抱怨信息系统中数据项变化不定,无法设计和实现Java Beans。我们也不只一次作过这样的事情:数据项增加或减少了,我需要修改信息系统以求适应。我们对付这种变化莫定的需求还有一招:天天催企业领导或业务人员决定数据项,而不开始下面的设计和开发,还美名其为一个需求的"需求里程碑"没到,至少这个需求相关的设计和开发绝对不能开始。本文为这种情况提供了一种解决办法,并美名其为"以动制动"。

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())必须遵循下列命名规则:

一个属性名在访问方法中必须以大写字母开头;

在其它地方以小写字母开头。

当然我们并不要求每个属性都必须同时拥有这两种访问者,因为我们并不排除某个属性只可读或可写。每种类型的属性的设计必须遵循的规则叫这种属性的设计模板,下面介绍各种类型属性的设计模板。

数据库中数据项变化不定时如何设计Java Beans(2)

时间:2011-01-19 IBM 龚永生

2.1.1 简单属性

一个属性为简单属性,当这个属性不与外界有连带关系时。简单属性中由于类型的复杂程度又有简单类型属性和数组属性之分。

简单类型属性的设计模板

布尔型:

设置器: public boolean is<属性名>(){}

获取器: public void set<属性名> (boolean bl ){}

其它类型的属性的设计模板如下:

设置器: public void set<属性名>( <属性类型> x ){}

获取器: public <属性类型> get<属性名>( ){}

数组属性的设计模板

单个元素的设计模板

设置器: public void set<属性名>( int i ,<属性元素类型> x ){}

获取器: public <属性元素类型> get<属性名>( int i ){}

整个数组的设计模板:

设置器: public void set<属性名>( <属性元素类型> [] x){}

获取器: public <属性元素类型>[] get<属性名>( ){}

对于简单属性,不需要另外的附加类或接口。

2.1.2 相关属性

相关属性是这样的一种属性,它的改变能以事件的形式通知给对它感兴趣的部分,即事件收听者或目标。很明显,这种属性的作用在于它能使收听者接到其改变事件后根据其中的信息产生一些行为,从而达到两者之间的默契。相关属性的访问者方法遵循与简单属性相同的形式,就是说单从

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号