国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > 高舉Domain Specification,應(yīng)用函數(shù)式編程

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

讓我忍不住跳出來(lái)新開(kāi)一帖討論(觀點(diǎn)不一定正確,還是嘗試中),
我是同意buuawhl的,不過(guò)可能出發(fā)點(diǎn)不一樣。
buuawhl 寫(xiě)道

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


我是傾向于DDD中提出的selection的Specification的手段。
我們工作的目標(biāo)是什么:selection的查詢邏輯。
換句話說(shuō)我們是組合查詢邏輯的。不過(guò)是因?yàn)閞epository是數(shù)據(jù)庫(kù)類(lèi)型,因而內(nèi)部需要組合sql語(yǔ)句。
那么組合的對(duì)象應(yīng)該是更高一層抽象的specification,而不是sql的對(duì)象化形式expression,

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

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

當(dāng)然這樣的組合能力可能不強(qiáng),不過(guò)基本可用(本句話未經(jīng)驗(yàn)證,還沒(méi)有來(lái)得及做)。
至于內(nèi)部即便是用sql也是可以的,如果覺(jué)得被"污染"了(buuawhl老大語(yǔ)錄),就參考ibatis的思路做。
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 精品一区二区三区四区 | 日本中文字幕在线播放 | 国内色视频 | 岛国视频在线免费观看 | 人人干网站| 另类视频在线观看 | 国产日韩在线视频 | 啊片网站| 一区二区三区内射美女毛片 | 国产黄色片在线免费观看 | 日韩不卡在线播放 | 可以免费观看的一级毛片 | 成人性视频免费网站 | 黄色污下载| 成人欧美大片免费观看 | 中文字幕福利 | 欧美爱爱视频 | 国产手机av在线 | 国产一区二区三区四区五区六区 | 狠狠做六月爱婷婷综合aⅴ 狠日日 | 久草视频在线免费播放 | 美女一区二区三区视频 | 人人草人人爽 | 日韩中文字幕网 | 在线免费观看一级毛片 | 亚洲一区中文字幕 | 亚洲人成中文字幕在线观看 | 成年人在线视频观看 | 91麻豆精品国产91久久久 | 日本三线免费视频观看 | 欧美日韩高清一区 | 一级做性色α爱片久久毛片色 | 久久精品国产免费一男女 | 久久久国产成人一区二区三区 | 51视频精品全国免费观看 | 操碰在线| 亚洲国产成人91精品 | 天堂资源站 | 亚洲综合精品 | 一边摸一边爽一边叫床电影 | 亚洲视频在线看 |