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

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邵东县| 右玉县| 英德市| 稷山县| 仪征市| 阜新| 塘沽区| 广元市| 沧源| 苏尼特右旗| 墨竹工卡县| 常山县| 阳新县| 弥勒县| 海南省| 久治县| 丰宁| 五寨县| 榆中县| 卓尼县| 和田县| 镇雄县| 盐边县| 内黄县| 兰西县| 沙田区| 新龙县| 白山市| 洛南县| 武冈市| 南木林县| 静安区| 重庆市| 沁水县| 郯城县| 永仁县| 多伦县| 茶陵县| 左贡县| 兴和县| 承德县|