J2EE之巅

 

DAO模式最佳实践

 

DAO看似是一个非常简单的模式,但这个模式却十分重要,它可以帮助我们实现持久化逻辑和业务逻辑的分离;它可以帮助我们实现对多种持久化实现的支持。
同时,DAO模式并没有看起来这么简单,要真正发挥它的威力需注意的方面很多,而这些方面常常被大家忽略,以下是本人总结的一些最佳实践。
1 不要在DAO上控制事务的边界
应该在Façade层控制事务的边界,这样可以提高DAO的复用性,使它适用于不同的事务策略。
2 不要过分使用Checked Exception
开发者常常会将DAO中的各种异常通通捕捉并通过Checked Exception抛出,其实这是中不好的习惯,因为DAO中发生的异常常常是不可恢复的(如:数据库连接问题等),既然如此就应该使用RuntimeException异常抛出,使用这种异常还有一个好处就是在CMP的情况下可以自动引发事务的回滚。
3 不要在DAO中处理懒加载问题
使用Hibernate就会经常遇到懒加载问题,但是这个问题不应该在DAO中解决,这样会影响DAO的复用性,应为要加载那些对象域往往是和界面相关的,这个问题应该在Façade层中解决,应为这是离表现层较近的一层。
 

http://dev2dev.bea.com.cn/blog/chaocai/200806/dao_24_1070.html
 
蔡超
软件架构师
软件架构顾问
SCEA
IBM Certified Solution Designer for OOA&D vUML2
Chaocai2001@yahoo.com.cn

posted on 2008-06-25 21:49 超越巅峰 阅读(3057) 评论(3)  编辑  收藏 所属分类: Design PatternJava EE

评论

# re: DAO模式最佳实践 2008-06-25 23:14 人体艺术

对,DAO中的异常处理非常重要,初学者往往会忽略,造成数据的完整性出现问题。  回复  更多评论   

# re: DAO模式最佳实践 2008-06-26 22:37 一脸大鼻涕

我怎么看文章的意思好像是不要在dao中处理异常捏?  回复  更多评论   

# re: DAO模式最佳实践 2008-06-27 11:08 如坐春风

论点不错,咋不详细阐述一下呢?  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(12)

随笔分类(54)

随笔档案(59)

文章分类(2)

文章档案(1)

相册

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜