dao层的烦恼

09-02-17 slandi
初次发帖,还望各位大侠不吝赐教。

首先自我说明下,由于我也是刚刚接触Java一年,所以高深的东西可能不太了解,希望各位大侠能说的稍微通俗点。我的知识体系:J2SE、HTML、Servlet/JSP、Hibernate、Struts、Spring、AJAX等,我是去年毕业的,论文实现的是一个在线客服的BS的聊天系统。当时做这个的时候根本没考虑什么架构,只是应用自己所学的只是体系完成了即时聊天的功能。

后来自己看了一些设计模式,看的时候挺有想法的,也有那种重生的感觉。当时看banq老师的Jive论坛系统分析设计的时候,感觉人家的想法好牛。可是发现在项目实战的时候,也很想用用设计模式,有点那种为了用设计模式而用设计模式,可是自己发现却不知道该怎么用。不知各位大侠关于设计模式可否给些建议。

好了,言归正传,最近在做一个购物网站的项目。这个项目打算做成一个灵活的项目,就是为了练习j2ee的这些知识体系。

这个项目也是采用MVC的分层模式,使用jsp和tag标记文件作为V层,

而C层可以随意使用,比如使用Servlet,或者Struts;

数据库连接层使用JDBC或者hibernate;

上面提供的方式可以随意组合形成本项目。

可是我的困惑是,在Hibernate中dao层是以表-对象的增删修查操作来定义的,而在页面显示的时候,有时候不仅仅是单单的某个对象的显示,而是需要关联多个表查询后显示数据。

这个时候我是该把这个查询方法放在哪个对象的DAO方法中呢?还是单独写dao类?

可是单独写dao类,又该以什么方式来写?一个用例对应一个dao类?还是别的方式?

如果是放到某个对象的dao方法中,又该放到哪个对象的dao方法中呢?

[该贴被slandi于2009-02-17 19:06修改过]

    

1
banq
2009-02-18 08:21
现在没有Dao概念,只有repository,参考DDD源码

http://www.jdon.com/jivejdon/thread/35674.html

slandi
2009-02-18 09:33
感谢banq老师的回复!

由于缺乏DDD相关的知识,而且这个项目只能在现有的知识体系上进行,不知该如何做。现在完成项目不是问题,问题是如何做才能更符合面向对象,更易扩展,更灵活?

IceQi
2009-02-18 21:58
首先是看,看别人怎么做的,看得多了自然就产生“审美能力”了

beepbug
2009-02-19 06:59
如果你的“聊天系统”是“说了就扔”型的,那肯定不需要永久层。

猜你喜欢
2Go 1 2 下一页