大佬們,你們好,小弟最近在學(xué)DDD,但是 理解不夠,也不是很清楚怎么用,比如 應(yīng)用服務(wù)和領(lǐng)域服務(wù) 。說(shuō)是 一個(gè) 應(yīng)用服務(wù)代表一個(gè)工作單,我的想法是:比如有個(gè)功能,要同時(shí)新增兩張表A、B,是不是 這個(gè) 功能寫在 應(yīng)用服務(wù)層,然后A、B單獨(dú)的新增寫在 領(lǐng)域服務(wù)層,然后應(yīng)用服務(wù)來(lái)調(diào)用這兩個(gè)領(lǐng)域服務(wù)。然后 展示層 調(diào)用這個(gè) 應(yīng)用服務(wù)。是這樣么?
1 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
不要用關(guān)系型數(shù)據(jù)庫(kù)的思想繼續(xù)延續(xù)下來(lái)考慮a,b表的功能,你應(yīng)該考慮實(shí)際業(yè)務(wù),如果還是陷在一個(gè)表就應(yīng)該有一個(gè)坑與之對(duì)應(yīng)的話那說(shuō)明你ddd還沒(méi)入門。相反你應(yīng)該先根據(jù)業(yè)務(wù)去規(guī)劃領(lǐng)域模型及分清它們的邊界,這個(gè)是ddd的核心,如果能夠設(shè)計(jì)出完全能夠無(wú)異議的描述業(yè)務(wù)的模型那就是相當(dāng)成功了。而具體數(shù)據(jù)如何落地及查詢這是倉(cāng)儲(chǔ)的事情,如何組織跨表的領(lǐng)域?qū)ο蟮拇鎯?chǔ)這是unit of work(如果使用entity framework則DbContext已經(jīng)包含這個(gè)功能了)。因此你的問(wèn)題中的a,b什么表的從出發(fā)點(diǎn)上就是錯(cuò)誤的。
添加回答
舉報(bào)
0/150
提交
取消