<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE之巔

     

    分層模式中的常見問題

    引言
    分層結構是目前復雜應用系統(tǒng)開發(fā)時普遍使用的模式,軟件中層之間的依賴關系約束是比較寬松的,并不要求上層僅可以依賴于直接下層,而是上層可以依賴于它的所有下層。
    設計中我們會把各種系統(tǒng)的各種組件映射至不同層中,而在我所接觸的一些實際項目中設計人員在映射這種組件和層間的關系時經(jīng)常無意中破壞了層結構的依賴關系約束。

     

    圖表 1 典型分層結構

    設計中的常見問題
    問題一:數(shù)據(jù)傳輸對象(DTO)是否應該屬于業(yè)務層?
    在J2EE開發(fā)的經(jīng)典著作《Core J2EE Patterns》中數(shù)據(jù)傳輸對象被劃分在業(yè)務層模式中,那么是否數(shù)據(jù)傳輸對象應該被映射到業(yè)務層呢?
    數(shù)據(jù)訪問對象(DAO)在該著作中是被映射到整合層的,這樣就會出現(xiàn)一個違反層依賴約束的問題,因為數(shù)據(jù)訪問對象是要依賴于數(shù)據(jù)傳輸對象的,因此下層就會出現(xiàn)對上層的依賴了。
    所以本人認為DTO是在各層中傳輸數(shù)據(jù)的,我們可以不必強求的把他們映射到上述層次中,可以把他們放置在一個公共包中。
     
    問題二:使用POJO作業(yè)務對象的輕量級架構與上述層模型的映射
    在使用POJO的輕量級結構中我們通常會使用持久化框架(如Hibernate/JPA)同時會在架構中引入倉庫對象(Repository Object),負責業(yè)務對象的獲取和保存。(注意:他的功能和DAO是有區(qū)別的,倉庫對象中通常只應包括業(yè)務對象的獲取和保存邏輯)。
    通常設計人員會把業(yè)務對象映射至業(yè)務層,而將倉庫對象映射至整合層。由于倉庫對象對于業(yè)務對象的依賴關系就會破壞依賴關系約束,所以這種映射方式顯然不正確。
    下圖是作者推薦的映射方式

     

    圖表 2 輕量級架構參考模型

     
    可以看到業(yè)務對象和倉庫對象都被映射至業(yè)務層,而持久化框架被映射到了整合層。
     
    總結

    因此大家在設計過程中不要僅僅將分層結構留于形式,而要時刻注意設計是否符合這種架構模式,這樣才能真正發(fā)揮這種架構模式的優(yōu)勢。

     

    蔡超
    http://dev2dev.bea.com.cn/blog/chaocai/200803/architecture_16_942.html
    JavaEE 咨詢顧問
    SCEA (1.2&5.0)
    IBM Certified Solution Designer for OOA&D UML2

    posted on 2008-03-19 21:48 超越巔峰 閱讀(1249) 評論(0)  編輯  收藏 所屬分類: Design PatternJava EE

    導航

    統(tǒng)計

    常用鏈接

    留言簿(12)

    隨筆分類(54)

    隨筆檔案(59)

    文章分類(2)

    文章檔案(1)

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成年轻人网站色免费看| 久久精品网站免费观看| 四虎影视免费永久在线观看| 亚洲一区二区久久| 成人AV免费网址在线观看| 好男人视频社区精品免费| 免费成人黄色大片| 亚洲国产精品久久| 99久久精品免费视频| 自怕偷自怕亚洲精品| 男人免费视频一区二区在线观看| 久久久免费精品re6| 久久亚洲AV无码精品色午夜| 最近免费中文字幕mv在线电影| 亚洲精品人成电影网| 丁香花在线观看免费观看图片 | 免费无码AV电影在线观看| 久久久久精品国产亚洲AV无码| 女人与禽交视频免费看| 老外毛片免费视频播放| 中文字幕亚洲日本岛国片| 亚洲中文字幕无码中文字| 日本视频在线观看永久免费| 亚洲视频在线观看网站| 毛片免费观看视频| 一级人做人a爰免费视频| 亚洲短视频男人的影院| 毛片在线免费视频| 在线视频网址免费播放| 夜夜亚洲天天久久| 久久大香香蕉国产免费网站| 亚洲一区二区三区在线| 亚洲 国产 图片| 久久久久高潮毛片免费全部播放| 亚洲乱码一区二区三区国产精品| 久久99国产乱子伦精品免费| 亚洲精品国产首次亮相| 亚洲AV无码久久寂寞少妇| 免费观看久久精彩视频 | 亚洲精品美女久久久久| 免费黄色大片网站|