|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。
在计划形式3中我们看到使bean从struct承继后使得代码年夜幅缩水而且一切的字段都可界说为cmp字段。这里,我们能够更进一步修改setdata()和getdata()的完成办法来削减代码量。
我们为这个struct增添一个办法。
valueObjectcodesnippetforCompany
publicclassCompanyStructimplements
java.io.Serializable{
publicIntegercomId;
publicStringcomName;
publicStringcomDescription;
publicTimestampmutationDate;
publicvoidcopyFrom(CompanyStructstruct){
comId=struct.comId;
comName=struct.comName;
comDescription=struct.comDescription;
mutationDate=struct.mutationDate;
}
}
因为entitybean是从struct承继上去的,在bean的完成类中也一样能够援用copyfrom()办法,固然,必需注重的是,这个copyfrom()办法并非一个贸易办法,它不必要在bean的远程接口中表露给挪用者。
如今,getdata()和setdata()办法能够简化更进一步的简化。
CodesnippetforanEntityBean’sgetData()
publicCompanyStructgetData(){
CompanyStructresult=newCompanyStruct();
result.copyFrom(this);
returnresult;
}
这里把this作为一个参数传进copyfrom()。因为enttitybean从struct承继而来,因而这个entittybean即可以作为一个struct传进。
EJB容器其实不同意把this指针作为一个参数传送由于在两个把持线程中同时会见一个bean的实例大概会引发事件抵触。但现实上我们所做的并没有违反这个准绳,由于我们的并没有在bean之间传送this的援用而且也没有援用任何大概引发事件抵触的办法。
CodesnippetforanEntityBean’ssetData()
publicvoidsetData(CompanyStructstruct){
this.copyFrom(struct);
}
关于一个映照到有良多列的表的entitybean,这类完成办法的长处是使得bean完成类的代码十分复杂。这类计划形式使得代码及其精简,可读性和可保护性也年夜年夜加强。任何数据库的修正都只必要修正作为基类的struct,而几近不必要修正bean的代码。把这类改动从struct分别出来,当cmp字段产生改动时必要修正部署形貌符。这就使得开辟时可以更好的顺应计划的改动。
这里,仍是没有完成bean之间的干系,这将在计划形式5中办理。
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。 |
|