关于po,vo,bo,dto的问题
处理28.com的时候,由于修改以前的东西,时间紧张,数据结构不是非常的清楚的前提下修改的,
好多东西都是改不是非常的合理,
每当我要实现一个新东西的时候,就感觉数据模型设计不是很合理,分层做不是很好.
最近几天,基本没有开发任务,我就找关于数据模型,和设计模式的资料google好长时间没有找到
合适的,javaeye.com我连续天天上,连续看了有四、五天了里边到是有几篇文章是写关于这个的,po,
vo,bo,dto等一系列的问题的,但是我一直没有看明白里边说的意思,具体做法,也许我代码量过少,经
验不足的原因,一直都搞不清楚,持久层,业务逻辑层,表现层之间数据传递找不到一个合适的解决办法
希望hofman帮忙一下,提示一个比较容易的例子给我好吗?
好多东西都是改不是非常的合理,
每当我要实现一个新东西的时候,就感觉数据模型设计不是很合理,分层做不是很好.
最近几天,基本没有开发任务,我就找关于数据模型,和设计模式的资料google好长时间没有找到
合适的,javaeye.com我连续天天上,连续看了有四、五天了里边到是有几篇文章是写关于这个的,po,
vo,bo,dto等一系列的问题的,但是我一直没有看明白里边说的意思,具体做法,也许我代码量过少,经
验不足的原因,一直都搞不清楚,持久层,业务逻辑层,表现层之间数据传递找不到一个合适的解决办法
希望hofman帮忙一下,提示一个比较容易的例子给我好吗?
haohao
2006-08-11 09:35:33
评论:1
阅读:769
引用:0
po/bo/vo/dto
@2006-08-11 15:11:40 hofman
我的理解,小的系统通常用一个po从view层、business层到persistence层,一捅到底,其实也是有利有弊,够用就行。
po: pesistence object;
bo:business object;
vo:view object;
dto:data transfer object.
dto是封装entity bean给view层使用的,或者说在以前流行的ejb开发模式中:entity bean 就是po,dto是bo兼vo.
po:通常是给hibernate之类的数据底层使用的,一般对应数据表。
bo:根据业务需要,可能封装了若干个po的若干个属性,目的还是为了在个业务层的多个method之间重用数据块的方便。如果无此需求,则无需bo。
vo:给view层使用的,封装了若干个po或者bo的若干属性,因为需要重用才封装成vo,否则也无需多此一举。比如,我们的网站系统中大量使用了BlogView这个vo,这个vo在每个page view中都用到了,它本身是若干个po的若干属性的组合。
如果在某层出现了大量重复的数据组合代码,则说明该层需要一个本层的object了,否则无需赶时髦。因为多层封装必带来额外的处理负担(用前得封装),也影响效率。事情通常都是利弊绑在一起的,要根据情况选择。
po: pesistence object;
bo:business object;
vo:view object;
dto:data transfer object.
dto是封装entity bean给view层使用的,或者说在以前流行的ejb开发模式中:entity bean 就是po,dto是bo兼vo.
po:通常是给hibernate之类的数据底层使用的,一般对应数据表。
bo:根据业务需要,可能封装了若干个po的若干个属性,目的还是为了在个业务层的多个method之间重用数据块的方便。如果无此需求,则无需bo。
vo:给view层使用的,封装了若干个po或者bo的若干属性,因为需要重用才封装成vo,否则也无需多此一举。比如,我们的网站系统中大量使用了BlogView这个vo,这个vo在每个page view中都用到了,它本身是若干个po的若干属性的组合。
如果在某层出现了大量重复的数据组合代码,则说明该层需要一个本层的object了,否则无需赶时髦。因为多层封装必带来额外的处理负担(用前得封装),也影响效率。事情通常都是利弊绑在一起的,要根据情况选择。
