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

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

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

    posts - 262,  comments - 221,  trackbacks - 0

    最近在對之前做過的一個項目進行二期修改。鑒于之前典型的貧血結構,以及Controller--->Service--->DAO模式讓代碼壓力都集中在service層的情況。在參考了Banq寫的幾篇對象職責和Domain Event的文章后,我也試著搗鼓了一下新的分層模式。貼出來和大家討論,歡迎拍磚!

    【1】層次劃分:


    ①控制層:數據映射、控制轉向、業務調用
    ②業務層:從用戶角度出發,看到的系統可以提供的功能接口
    ③實體層:包含了數據與行為的實體對象
    ④服務層:從程序內部角度出發,為了完成業務而劃分出來的細粒度功能模塊
    ⑤倉儲層:對象的構建、緩存、持久化

    上面我的說法可能不是很規范,因為
    DDD也沒有仔細的研究,可能大家會對業務和服務層的直至有所疑惑:這里我的想法就是一個從用戶角度出發的業務操作,對應到程序內部可能會被劃分成多個細粒度的程序操作。

    【2】協作關系:


    ①控制層與業務層:
    ※控制層提供業務層所需的原始,未經封裝的數據
    ※控制層提供業務調用
    ※業務層返回給控制層業務出來結果,由控制層決定轉向

    ②業務層與實體層:
    ※業務層在必要時(new,edit,delete等一系列命令操作),從倉儲中加載對象
    ※業務層向實體層對象發出事件通知
    ※業務層接收實體的行為反饋

    ③實體與服務層:
    ※實體通過“服務注冊”的方式,讓實體具有“自我數據操縱”的能力
    ※實體接受到業務層的事件通知后,廣播給注冊的服務提供者
    ※服務層為需要提供服務的實體提供相應的操作功能
    ※實體層中包含了實體邏輯(可以自己處理而不需要依賴其他模塊、層次)
    ※服務層中包含了服務邏輯(無法通過一個對象自身完成,涉及到其它對象)

    ④業務與服務層:
    ※當業務要求是查詢要求,或者與特點對象無關時,業務層直接請求服務層
    ※服務層可以看成是對業務層請求的內部實現

    ⑤服務層與倉儲層:
    ※倉儲層的對象實體可以是:新建,緩存,從持久化介質中加載
    ※倉儲層中包含了構建對象的Builder,否則構建和校驗
    ※倉儲層中包含了對象的
    緩存緩存操作
    ※倉儲層中包含了對持久層的訪問

    ⑥實體與倉儲層:
    ※倉儲層構建的最終對象就是實體,倉儲是實體的來源,也是實體最終的去向

    下面分為兩只情況來闡述協作流程:

    【3】增刪改請求的協作流程

    圖片

     

    【4】查詢請求的協作流程
    圖片

     

    【5】疑惑與擔憂
    ①這種分層是否合理?因為我想讓對象通過事件來消除和服務層的耦合?
    ②這種把命令、查詢分開來對待的做法會不會令日后的邏輯變得分散而難以維護?
    ③在倉儲的構建過程中,有可能需要調用服務層邏輯,會不會造成服務<--->倉儲的雙向依賴而耦合?

    寫了很多~~~也有勞大家費心看看。實在不想再回到貧血模型的日子啦



    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2010-03-23 17:05 Paul Lin 閱讀(1582) 評論(0)  編輯  收藏 所屬分類: 架構與性能
    <2010年3月>
    28123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲午夜久久久久久噜噜噜| 亚洲人成色777777精品| 午夜国产精品免费观看| 日韩在线视频免费| 亚洲色图在线播放| 亚洲免费视频网址| 一级毛片不卡免费看老司机| 亚洲一区二区电影| 精品亚洲视频在线观看| 国产精品成人免费福利| 久久亚洲AV成人无码国产最大| 亚洲欧洲日产国码av系列天堂 | 亚洲五月综合缴情婷婷| 亚洲精品无码乱码成人| 97视频热人人精品免费| 免费h视频在线观看| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 亚洲国产精品成人午夜在线观看| 亚洲欧洲自拍拍偷综合| 亚洲中文字幕无码av在线| 亚洲砖码砖专无区2023| 亚洲AV永久无码精品一福利| 男男gay做爽爽的视频免费| 自拍偷自拍亚洲精品偷一| 日本激情猛烈在线看免费观看| 亚洲а∨天堂久久精品9966| 亚洲国产美女精品久久久| 污视频网站在线观看免费| 一级大黄美女免费播放| 国产免费久久精品丫丫| 羞羞视频免费网站在线看| 国产成人久久AV免费| 日韩精品成人无码专区免费| 四虎影视在线永久免费观看| 久久精品国产亚洲7777| 亚洲国产成人久久精品app| 一级做a免费视频观看网站| 日本片免费观看一区二区| 高清在线亚洲精品国产二区| 亚洲最大的成网4438| 国产精品亚洲精品日韩动图|