J2EE架构中各层的数据表示方法

J2EE 架构中各层的数据表示方法
   Web 层的数据表示是 FormBean ,数据来源于 HTML Form POST
  业务层的数据表示是 VO
  持久层的数据表示是 PO ,其数据来源于数据库,持久层的数据表示例如 CMP 。在一个规范的 J2EE 架构中,不同层的数据表示应该被限制在层内,而不应该扩散到其它层,这样可以降低层间的耦合性,提高 J2EE 架构整体的可维护性和可扩展性。比如说 Web 层的逻辑进行了修改,那么只需要修改 FormBean 的结构,而不需要触动业务层和持久层的代码修改。同样滴,当数据库表进行了小的调整,那么也只需要修改持久层数据表示,而不需要触动业务层代码和 Web 层代码。
 
   JSP(View) ---> Action Form Bean (Module) ---> Action(Control)
 
   Action Form Bean Web 层的数据表示,它和 HTML 页面 Form 对应,只要 Web 页面的操作流程发生改变,它就要相应的进行修改,它不应该也不能被传递到业务层和持久层,否则一旦页面修改,会一直牵连到业务层和持久层的大面积的代码进行修改,对于软件的可维护性和可扩展性而言,是一个灾难, Actiont 就是他的边界,到此为止!
 
   Action(Web Control) ---> Business Bean ---> DAO ---> ORM --->DB
 
  而 PO 则是业务层和持久层的数据表示,它在业务层和持久层之间进行流动,他不应该也不能被传递到 Web 层的 View 中去,而 ActionServlet 就是他的边界,到此为止!
 
  整个架构的流程:
  当用户通过浏览器访问网页,提交了一个页面。于是 Action 拿到了这个 FormBean ,他会把 FormBean 属性读出来,然后构造一个 PO 对象,再调用业务层的 Bean 类,完成了注册操作,重定向到成功页面。而业务层 Bean 收到这个 PO 对象之后,调用 DAO 接口方法,进行持久对象的持久化操作。
 
  业务 Bean 取得 Name( 注意 : Name 对象只是 User 的一个属性 ) 对象之后调用 DAO 接口,返回一个 User PO 对象,注意这个 User 不同于在 Web 层使用的 UserFormBean ,他有很多集合属性滴。然后业务 Bean User 对象返回给 Action
 
  总结:
 
   Form Bean Web 层的数据表示,他不能被传递到业务层; PO 是持久层的数据表示,在特定情况下,例如 Hibernate 中,他可以取代 VO 出现在业务层,但是不管 PO 还是 VO 都必须限制在业务层内使用,最多到达 Web 层的 Control ,绝不能被扩散到 View 去。
 
   Form Bean PO 之间的数据转化是在 Action 中进行滴。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值