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 超越巔峰 閱讀(3073) 評論(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)

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 象山县| 临高县| 武强县| 界首市| 江源县| 黄梅县| 三台县| 江油市| 新绛县| 章丘市| 灌南县| 百色市| 石首市| 沭阳县| 武冈市| 五常市| 涿州市| 洛川县| 信丰县| 林口县| 海晏县| 林州市| 玉田县| 临澧县| 蒙自县| 土默特右旗| 轮台县| 菏泽市| 南江县| 高碑店市| 丹寨县| 定结县| 额尔古纳市| 泾阳县| 南涧| 博乐市| 东乡| 西畴县| 鲁甸县| 福建省| 浙江省|