浏览 5198 次
锁定老帖子 主题:对spring中倡导的dao模式的质疑
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-01-21
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-01-21
agilecat 写道 在没有orm的年代,勿庸置疑dao是非常必要的,但是如果选择了orm,那么DAO的存在意义仅仅是切换不同的orm,值得考虑的是这种切换的意义到底有多大,看到DAO中风暴式的的clud方法,实在觉得不爽,在我看来,让业务层直接访问orm的模板类,牺牲切换orm功能,选择一个合适的orm,会更好一些,就像hibernate3,已经融合和sql map的功能,我们为什么要为orm切换付出代价呢?
很大程度上是个权衡。说到最后不是“要不要DAO”的问题,而是“什么时候引入多一层间接”的问题。如果你确定不会改变持久化策略,我认为很可以不用DAO,我的很多程序都是这样写的,因为Hibernate(以及Spring的封装)已经把持久化简化到非常简单了。但是有时候的确需要改变持久化策略的,比如需要把用户信息放到LDAP,比如需要通过remoting得到数据,这时候你就需要DAO。这里需要权衡。而且DAO也可以不是预先设计的,也可以是发现有需求的时候重构出来的。 |
|
返回顶楼 | |
发表时间:2005-01-21
我觉得DAO模式是需要的.o/r mapping只是用于数据库,我们的数据源还可能是LDAP、search engineer等。这些都是比较常见的数据源,用户的信息放在LDAP中,搜索的信息(比如按关键字进行搜索)放在搜索引擎中。
|
|
返回顶楼 | |
发表时间:2005-01-21
DAO层的抽象不是为了切换ORM的,实际上选择了一个ORM,要切换的可能性基本不存在,DAO的作用Rod Johnson在without EJB里面专门有过论述,我就不照抄了,你可以自己去看。
|
|
返回顶楼 | |
发表时间:2005-01-22
robbin 写道 DAO层的抽象不是为了切换ORM的,实际上选择了一个ORM,要切换的可能性基本不存在,DAO的作用Rod Johnson在without EJB里面专门有过论述,我就不照抄了,你可以自己去看。
老大!这本书是不是你在翻译,怎么样了?近期能出版吗? |
|
返回顶楼 | |
发表时间:2005-01-22
应该快了。
|
|
返回顶楼 | |