论坛首页 Java企业应用论坛

只需要一个DAO,是个好主意吗?

浏览 48393 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-12  
算了吧,这样的问题还要讨论
0 请登录后投票
   发表时间:2008-11-12  
一个Dao类不能说就没有了Dao层,还有,二楼说的导致查询语句膨胀的问题,完全可以做一个比较好的可选条件查询的借口,封装在Dao层里就行了
0 请登录后投票
   发表时间:2008-11-12  
用一个BaseDao, BaseDao实现IDao; 每个SERVICE有一个专门的DAO,都实现IDao,并调用baseDao,在专用的DAO里调用QL,SERVICE里的属性为IDao dao; 在IDao里用的是可变参数列表,并为每个专用的DAO写个参考特定的参数列表做为参考;以后换持久层框架,不用改SERVICE.
0 请登录后投票
   发表时间:2008-11-17  
对于ibatis这样的,基本上一个数据库一个DAO
0 请登录后投票
   发表时间:2008-11-17  
可以使用泛型吧,差不多一个DAO就能搞定了。
0 请登录后投票
   发表时间:2008-11-18  
kris_xu 写道
这么说,是不是意味着用继承呢?

就想说这个意思
0 请登录后投票
   发表时间:2008-11-18  
如果用DDD来说,就不存在什么Dao了,应该有repository来替代。不过我还是repository和dao一起用。写一个泛型Dao基类,其它的Dao继承下来完成特殊的操作,repository调用dao实现数据操作,并且repository负责领域模型的不变性,规则等。
0 请登录后投票
   发表时间:2008-11-18  
想法不错,可以尝试
0 请登录后投票
   发表时间:2008-11-18   最后修改:2008-11-18
如果使用ibatis,那么一个sqlMap.xml也就相当于一个dao类,一个sqlid就相当于一个dao方法了。只要对xml文件进行良好的分类整理,后期也是易于维护的。团队能就此达成一致就ok了。
0 请登录后投票
   发表时间:2008-11-18  
虚拟数据层(高度抽象的数据接口)并不能代替DAO层的而存在,运用继承来简化你的代码很好,但是是不能极端。我认为合理的运用设计模式可以让你的代码读起来更“优雅”
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics