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

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

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

    J2EE之巔

     

    分層模式中的常見問(wèn)題

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

     

    圖表 1 典型分層結(jié)構(gòu)

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

     

    圖表 2 輕量級(jí)架構(gòu)參考模型

     
    可以看到業(yè)務(wù)對(duì)象和倉(cāng)庫(kù)對(duì)象都被映射至業(yè)務(wù)層,而持久化框架被映射到了整合層。
     
    總結(jié)

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

     

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

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

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(12)

    隨筆分類(54)

    隨筆檔案(59)

    文章分類(2)

    文章檔案(1)

    相冊(cè)

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 精品久久洲久久久久护士免费 | 亚洲国产精品久久久久秋霞影院| 看免费毛片天天看| 免费黄色大片网站| 午夜亚洲国产理论片二级港台二级 | 四虎影在线永久免费观看| 亚洲乱码日产精品BD在线观看| 59pao成国产成视频永久免费| 97久久精品亚洲中文字幕无码 | 女人与禽交视频免费看| 亚洲AV永久无码精品一福利| 国产免费无遮挡精品视频| 无套内谢孕妇毛片免费看看| 久久久久久亚洲精品不卡| 十八禁在线观看视频播放免费| 国产亚洲人成网站观看| 一级特黄aa毛片免费观看| 亚洲无圣光一区二区| 成年人免费观看视频网站| 337p日本欧洲亚洲大胆裸体艺术| 国色精品va在线观看免费视频| 亚洲第一成年男人的天堂| 久热中文字幕在线精品免费| 亚洲最大的成人网| 亚洲人午夜射精精品日韩| 久久久久成人片免费观看蜜芽| 亚洲AV无码国产精品色| 亚洲AV网站在线观看| 野花香高清在线观看视频播放免费 | 中文在线日本免费永久18近| 亚洲an天堂an在线观看| 歪歪漫画在线观看官网免费阅读| 亚洲国产欧美日韩精品一区二区三区| 国产成人在线观看免费网站| 花蝴蝶免费视频在线观看高清版 | 久久精品私人影院免费看| 久久亚洲精品无码观看不卡| 久久永久免费人妻精品下载| 亚洲日本va一区二区三区| 亚洲一区二区视频在线观看| 4虎1515hh永久免费|