<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 高舉Domain Specification,應用函數式編程

      高舉Domain Specification,應用函數式編程
      2010-01-14 22:32:59  作者:  來源:
      balaschen發(fā)帖說要提供sql的對象化拼裝,buuawhl老大說思路不對,可是ajoo(我的偶像啊)也說要整整這個sql拼裝(偶像啊,還是把高貴時間用在刀刃上吧)。

      讓我忍不住跳出來新開一帖討論(觀點不一定正確,還是嘗試中),
      我是同意buuawhl的,不過可能出發(fā)點不一樣。
      buuawhl 寫道

      組合子不錯,不過用錯了地方。
      SQL拼裝采用組合子(比如包括Hibernate Criteria)這種思路,完全是畫蛇添足,一無是處,成事不足,敗事有余。


      我是傾向于DDD中提出的selection的Specification的手段。
      我們工作的目標是什么:selection的查詢邏輯。
      換句話說我們是組合查詢邏輯的。不過是因為repository是數據庫類型,因而內部需要組合sql語句。
      那么組合的對象應該是更高一層抽象的specification,而不是sql的對象化形式expression,

      而這樣做兩個好處是:
      第一,解決了dao的在設計分層中的尷尬地位。典型的分層體系如appfuse,
      查詢本身是一種邏輯,而dao獨立層次的存在把不同的查詢logic來了個大集中,這樣的用法就很尷尬。
      而如springside則好些,雖然把dao作為service來用,但是criteria的組裝獨立于dao之外。
      而DDD提出的Specification,就很好的解決的這一分層問題。

      第二,提供了一定的函數式編程能力(組合子編程), 提供三種簡單的操作and, or和not.
      我以為DDD在這里不考慮去組合基本的Expression,
      而是從業(yè)務角度考慮,組合的是specification,返回的是domain object list(這樣更是顯示的和sql中的projection區(qū)別開)

      當然這樣的組合能力可能不強,不過基本可用(本句話未經驗證,還沒有來得及做)。
      至于內部即便是用sql也是可以的,如果覺得被"污染"了(buuawhl老大語錄),就參考ibatis的思路做。
      安徽新華電腦學校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      相關熱詞搜索:函數 編程 應用
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        亚洲AV乱码一区二区三区女同 | 亚洲中文字幕mⅴ | 中文字幕中出在线精品 | 亚洲日韩国产欧美性 | 日韩精品亚洲人旧成在线 | 亚洲性爱女色在线视频 |