网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  ejb设计模式4     
  文章作者:未知  文章来源:水木森林  
  查看:64次  录入:管理员--2007-11-17  
 
  在设计模式3中我们看到使bean从struct继承后使得代码大幅缩水并且所有的字段都可定义为cmp字段。这里,我们可以更进一步修正setdata()和getdata()的实现方法来减少代码量。
  我们为这个struct增加一个方法。
  value object code snippet for company
  public class companystruct implements
  java.io.serializable {
  public integer comid;
  public string comname;
  public string comdescription;
  public timestamp mutationdate;
  public void copyfrom(companystruct struct) {
  comid = struct.comid;
  comname = struct.comname;
  comdescription = struct.comdescription;
  mutationdate = struct.mutationdate;
  }
  }
  
  由于entity bean是从struct继承下来的,在bean的实现类中也一样可以引用copyfrom()方法,当然,必须注意的是,这个copyfrom()方法并不是一个商业方法,它不需要在bean的远程接口中暴露给调用者。
  现在,getdata()和setdata()方法可以简化更进一步的简化。
  code snippet for an entity bean’s getdata()
  public companystruct getdata() {
  companystruct result = new companystruct();
  result.copyfrom(this);
  return result;
  }
  
  这里把this作为一个参数传入copyfrom()。由于enttity bean从struct继承而来,于是这个entitty bean便可以作为一个struct传入。
  ejb容器并不赞成把this指针作为一个参数传递因为在两个控制线程中同时访问一个bean的实例可能会引起事务冲突。但事实上我们所做的并没有违背这个原则,因为我们的并没有在bean之间传递this的引用并且也没有引用任何可能引起事务冲突的方法。
  code snippet for an entity bean’s setdata()
  public void setdata(companystruct struct) {
  this.copyfrom(struct);
  }
  
  对于一个映射到有很多列的表的entity bean,这种实现方法的优点是使得bean实现类的代码非常简单。这种设计模式使得代码及其精简,可读性和可维护性也大大增强。任何数据库的修改都只需要修改作为基类的struct,而几乎不需要修改bean的代码。把这种改变从struct分离出来,当cmp字段发生改变时需要修改部署描述符。这就使得开发时能够更好的适应设计的改变。
  这里,还是没有实现bean之间的关系,这将在设计模式5中解决。
 
 
上一篇: ejb设计模式5    下一篇: ejb设计模式3
  相关文档
如何在microsoft.net中自定义配置文件 11-17
有关手机中文问题传输的解决办法 11-17
j2ee基础:怎样读取和处理xml的配置文件 11-16
java入门 java中的日期处理 11-17
哈希崩溃及避免方法 11-17
有关motorola j2me开发的几个细节问题 11-16
applet做数字签名,授予访问本地资源 11-17
《java编程思想》(第二版)第09章:持有你的对象 11-17
一个操作数据库的java bean…… 11-17
如何让apache支持frontpage 2000 11-17
java编程中异常处理的特殊情况 11-17
java入门:date类型与string类型的转化 01-03
将java对象转为java string的几种常用方法剖析 11-17
java动画及自动浏览图片程序的开发 11-17
swt/jface入门指南之用layout管理ui布局 11-17
发现 eclipse 中未解析的插件依赖性 11-17
java thread in jvm 11-17
java入门--关于角色访问控制(rbac) 01-24
.net 事务处理并发性处理的意义 11-17
动态proxy与javaacl用户访问控制机制实现 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息