分层的疑惑...

guorui_wh 2004-11-17 01:41:04
不知道各位大侠的项目是怎么分包(层次划分)的?
我随便想了一下,没有多少经验.如果用struts+spring+hibernate
com.company.action --struts action
com.company.form --form bean
com.company.po.hibernatepo --hibernate po and mapping file ( hbm.xml )
com.company.vo --vo
com.company.dao -- dao interface
com.company.dao.hibernateimp --hibernate dao implements
com.company.service --service interface
com.company.service --service implements

问题:
1.dao层要作什么事情?如果只是作create,update,delete,findById,那么dao层有什么用处,和hibernate
的工作是不是重复?如果让他作更多的事情,比如:再一次信息发布(内容管理中的一个功能)中,他需要作很多事情,
是不是dao就应该提供一个publish(),如果是这样的话,dao的工作好像又过了,因为service好像就是作这个事
情的!
请问各位大侠的项目是怎么样来把握这个度的?能举个实例最好了

2.vo能够出现再那些层次中?hibernate 的po对象可以充当vo,但是如果自己写vo(怕再业务逻辑中这样:po.setName()之类的),
那么vo,vo应该的两个边界应该是:action和dao
但是,如果界面上显示列表,怎么办?用formbean[]么?(以前我是用vo[])

欢迎给出批评和意见,不胜感激~~~
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluehale 2004-11-18
  • 打赏
  • 举报
回复
DAO非常重要,可以将对数据库的操作封装在里面,至少,对外实现了与具体的数据库无关。
guorui_wh 2004-11-18
  • 打赏
  • 举报
回复
这文章我也看了,而且零零碎碎的也看了不少关于这方面的文章,但是没有一个是很详细的解释我的问题的.
1.vo应该的两个边界应该是:action和dao,界面上显示列表用什么对象的数组?是用vo数组,按道理vo是属于逻辑层的,不应该被传到界面上.如果不用vo用什么?
2.po转vo,或者vo转po比较麻烦,如果我用hibernate就更加突出了,比如:我配置了一个on-to-many的关系:Forum和Topic
在PO中:Forum中的set里面的对象应该Topic PO类型的,Topic的Forum对象应该Fourm PO类型的
反之,在VO中,都应该是VO类型的,
我用hibernate去Save的时候,我把VO转PO就非常麻烦
fishcanfly 2004-11-18
  • 打赏
  • 举报
回复
好文章,多贴些介绍这方面的网趾!
IceCraft 2004-11-17
  • 打赏
  • 举报
回复
这一部分内容或许可以让你更深刻的感受到struts+spring+hibernate模式的概念和各层的关系等:
http://www.csdn.net/develop/Read_Article.asp?Id=26696
http://www.csdn.net/develop/Read_Article.asp?Id=26698
http://www.csdn.net/develop/Read_Article.asp?Id=26699
http://www.csdn.net/develop/Read_Article.asp?Id=26700
http://www.csdn.net/develop/Read_Article.asp?Id=28089
pbMaster 2004-11-17
  • 打赏
  • 举报
回复
这些问题不是不愿意回答,而是很难回答。
DAO是J2EE核心模式之一,为什么用DAO可以参考这个帖子中我回答的内容:
http://community.csdn.net/Expert/topic/3555/3555366.xml?temp=.300213

至于你是要用VO,还是POJO做VO,都是可以的,没有人强求你怎么做。我自己倾向于分开。(也就是你给的例子中的做法)

至于列表,你是用[],还是用Collection,随你的便,没有人强求你。我自己是倾向于用Collection。
guorui_wh 2004-11-17
  • 打赏
  • 举报
回复
没有人愿意回答么?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧