腳踏實(shí)地系列之領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--面向數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)體設(shè)計(jì)

在單體應(yīng)用時(shí)代集晚,我們是非常重視數(shù)據(jù)庫(kù)的設(shè)計(jì)的晌砾,因?yàn)橹挥姓谶\(yùn)行的數(shù)據(jù)庫(kù)和程序反應(yīng)了業(yè)務(wù)事實(shí)攀甚。所以當(dāng)我們需要了解一個(gè)系統(tǒng)的業(yè)務(wù)時(shí)吞瞪,如果沒(méi)有數(shù)據(jù)庫(kù)表設(shè)計(jì)文檔馁启,可以想象系統(tǒng)維護(hù)升級(jí)如同一場(chǎng)災(zāi)難。


在DDD中芍秆,我們也有與之向?qū)?yīng)的東西:實(shí)體惯疙。但在考慮和設(shè)計(jì)實(shí)體時(shí),是不考慮其如何存儲(chǔ)的妖啥,所以在我看來(lái)實(shí)體和庫(kù)表設(shè)計(jì)很像霉颠,但又不是一回事:比如庫(kù)表設(shè)計(jì)考慮關(guān)聯(lián)關(guān)系,實(shí)體雖然也考慮荆虱,但這個(gè)不是特別重要蒿偎,我個(gè)人認(rèn)為考慮實(shí)體要考慮這個(gè)實(shí)體的歸屬,即設(shè)計(jì)實(shí)體一定是基于領(lǐng)域劃分之內(nèi)的怀读,也就是說(shuō)這個(gè)實(shí)體設(shè)計(jì)時(shí)酥郭,你應(yīng)該考慮由哪一個(gè)限界上下文來(lái)維護(hù)其 生老病死,這才是重中之重愿吹。

那我們先來(lái)解釋什么是限界上下文不从?

限界上下文可以通俗的講就是你的微服務(wù)中的一個(gè)微服務(wù)。上一篇我們的確劃分了領(lǐng)域犁跪,但領(lǐng)域并不等同于微服務(wù)椿息。在一個(gè)領(lǐng)域內(nèi),有眾多的實(shí)體對(duì)象坷衍,那么這些實(shí)體對(duì)象的出生寝优,更新,到最后的死亡枫耳,都應(yīng)該只和一個(gè)界限上下文有關(guān)乏矾。比如訂單這個(gè)實(shí)體,那么創(chuàng)建這個(gè)訂單,更新這個(gè)訂單的狀態(tài)钻心,更新這個(gè)訂單的信息等等操作應(yīng)該都是一個(gè)限界上下文來(lái)操作(訂單或交易中心)負(fù)責(zé)凄硼,界限上下文是為相應(yīng)的實(shí)體對(duì)象而存在的。

在這個(gè)限界上下文中捷沸,我們擁有了實(shí)體摊沉,但實(shí)體一定有對(duì)應(yīng)的變化場(chǎng)景:更新,狀態(tài)變化痒给,信息更新说墨,刪除等等,那么對(duì)應(yīng)的這些變化一定有對(duì)應(yīng)的命令來(lái)觸發(fā)苍柏。只是這個(gè)命令不是一個(gè)技術(shù)名詞尼斧,而是一個(gè)業(yè)務(wù)動(dòng)作而已,所以命令是伴隨者實(shí)體而生的试吁。

當(dāng)我們搞清楚了實(shí)體(由對(duì)應(yīng)的限界上下文維護(hù)生命周期和屬性更新)突颊,那么我們就可以開(kāi)始通過(guò)用例分析來(lái)歸類(lèi)相應(yīng)的界限上下文的應(yīng)具有的功能接口清單,從基于前面已經(jīng)有的用例分析潘悼,我們可以找到其中的有關(guān)實(shí)體和對(duì)應(yīng)的命令:比如上面的對(duì)賬批次,損益單爬橡,對(duì)賬文件等等治唤;相關(guān)的命令有:審核,生成糙申,調(diào)整宾添,錄入等等。

通過(guò)以上的分析柜裸,我們大概可以形成這樣的一個(gè)具備可讀性(業(yè)務(wù)人員缕陕,產(chǎn)品人員,技術(shù)人員)文檔


而且將所有限界上下文用例文檔合并起來(lái)疙挺,應(yīng)該是包含了該系統(tǒng)的所有的用例的扛邑。

這個(gè)表中的的一項(xiàng)“輸出事件”是由技術(shù)和業(yè)務(wù) 來(lái)擬定(后續(xù)會(huì)再領(lǐng)出來(lái)講),主要是通知其他上下文告知已經(jīng)完成了某個(gè)動(dòng)作铐然,做為其觸發(fā)的依據(jù)蔬崩。此文檔一定是所有的參與人員都能讀懂的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搀暑,一起剝皮案震驚了整個(gè)濱河市沥阳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌自点,老刑警劉巖桐罕,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡功炮,警方通過(guò)查閱死者的電腦和手機(jī)溅潜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)死宣,“玉大人伟恶,你說(shuō)我怎么就攤上這事∫愀茫” “怎么了博秫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)眶掌。 經(jīng)常有香客問(wèn)我挡育,道長(zhǎng),這世上最難降的妖魔是什么朴爬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任即寒,我火速辦了婚禮,結(jié)果婚禮上召噩,老公的妹妹穿的比我還像新娘母赵。我一直安慰自己,他們只是感情好具滴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布凹嘲。 她就那樣靜靜地躺著,像睡著了一般构韵。 火紅的嫁衣襯著肌膚如雪周蹭。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天疲恢,我揣著相機(jī)與錄音凶朗,去河邊找鬼。 笑死显拳,一個(gè)胖子當(dāng)著我的面吹牛棚愤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杂数,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼遇八,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了耍休?” 一聲冷哼從身側(cè)響起刃永,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎羊精,沒(méi)想到半個(gè)月后斯够,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體囚玫,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年读规,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抓督。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡束亏,死狀恐怖铃在,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情碍遍,我是刑警寧澤定铜,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站怕敬,受9級(jí)特大地震影響揣炕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜东跪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一畸陡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虽填,春花似錦丁恭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至桑驱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跛蛋,已是汗流浹背熬的。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赊级,地道東北人押框。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像理逊,于是被迫代替她去往敵國(guó)和親橡伞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • GitChat課程《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--戰(zhàn)略篇》筆記晋被,課程作者張逸 一.理解限界上下文 1.限界上下文的定義 限界上下...
    莫小歸閱讀 5,812評(píng)論 1 11
  • 前面我們已經(jīng)分析設(shè)計(jì)出了實(shí)體對(duì)象和對(duì)應(yīng)的限界上下文兑徘,這兩個(gè)應(yīng)該是可以同時(shí)設(shè)計(jì)出來(lái)的,如果只有領(lǐng)域和實(shí)體而沒(méi)有...
    志鉉閱讀 1,576評(píng)論 0 2
  • 本文是以最簡(jiǎn)單的方式去敘述DDD的概念羡洛。DDD 與 微服務(wù) 是緊密相關(guān)的挂脑, 所以必須是先了解 DDD 的方式才比較...
    小兵張咔咔閱讀 1,864評(píng)論 0 3
  • GitChat課程《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--戰(zhàn)略篇》筆記,課程作者張逸 一.遵循DDD思想的代碼模型 考慮1)層與模塊之間...
    莫小歸閱讀 2,487評(píng)論 1 1
  • 大家都知道,許多老師們都讓學(xué)生把書(shū)本包上一種透明塑料書(shū)皮崭闲。但我要告訴大家:不要再包透明書(shū)皮了肋联! 我四年級(jí)下學(xué)期剛開(kāi)...
    睿睿Grace閱讀 607評(píng)論 0 0