腳踏實(shí)地系列之領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)--為什么要聚合根?

細(xì)心的人可能會(huì)發(fā)現(xiàn)仪芒,之前我這個(gè)圖中的領(lǐng)域?qū)嶓w對(duì)象圓其實(shí)有兩種畫法唁影,一種是底部有一條線耕陷,另一個(gè)是左側(cè)有一條線。這樣畫的目的是為了進(jìn)一步區(qū)分實(shí)體中那些是聚合根据沈,那些是普通實(shí)體啃炸。

那么什么是聚合根,按照我的理解卓舵,就是當(dāng)這個(gè)實(shí)體被創(chuàng)建時(shí)南用,他可以代表這個(gè)創(chuàng)建的最關(guān)鍵的線索,就是聚合根掏湾」妫可能這么解釋還是感覺不明白,那么我就用一個(gè)項(xiàng)目的案例來(lái)說(shuō)明融击,在金融系統(tǒng)中筑公,我們經(jīng)常有一個(gè)設(shè)計(jì)是“交易流水”,比如一筆支付單據(jù)尊浪,就有一筆支付交易流水匣屡,那么這個(gè)流水就代表了這個(gè)訂單一次支付處理過(guò)程,通過(guò)這個(gè)流水以及相關(guān)聯(lián)的日志拇涤,我們可以事后得出捣作,這筆訂單如何從一個(gè)初始狀態(tài),變?yōu)榱艘呀?jīng)支付狀態(tài)鹅士,所以往往我們?yōu)榱嘶厮萑辏覀儠?huì)將這個(gè)流水以及產(chǎn)生的信息,都會(huì)持久化到數(shù)據(jù)庫(kù)中掉盅,以方便后面業(yè)務(wù)的核查也拜。 在這里:這個(gè)支付過(guò)程和這個(gè)交易流水就是密切關(guān)聯(lián)的,可以這么說(shuō)趾痘,交易流水就是為了這次支付過(guò)程而誕生的慢哈,而且我們通過(guò)這個(gè)交易流水,我們也能夠反應(yīng)當(dāng)初那個(gè)過(guò)程永票。在這個(gè)交易過(guò)程中卵贱,我們可以認(rèn)為這個(gè)交易流水就是聚合根,一切的開始都是從他誕生開始瓦侮,事后他也代表了一次過(guò)程艰赞,那么這就是我理解的聚合根佣谐。

再回到我們實(shí)體劃分里面肚吏,你會(huì)發(fā)現(xiàn),眾多的實(shí)體的誕生狭魂,都是因?yàn)橐粋€(gè)動(dòng)作罚攀,那么如果這個(gè)實(shí)體動(dòng)作也反過(guò)來(lái)反應(yīng)一次業(yè)務(wù)動(dòng)作党觅,那么我們就可以這個(gè)動(dòng)作為一次聚合,同時(shí)認(rèn)為這個(gè)實(shí)體是這個(gè)聚合的聚合根斋泄。

那我們?yōu)槭裁匆獏^(qū)分聚合根了杯瞻?有兩方面的原因:在微服務(wù)中,為了系統(tǒng)的健壯性炫掐,我們可以要求所有的微服務(wù)都應(yīng)該滿足冪等性要求魁莉,如果所有的微服務(wù)都滿足這個(gè)特性,那么對(duì)于整體系統(tǒng)的高可用以及穩(wěn)定性都會(huì)帶來(lái)大幅度的提高募胃,那么當(dāng)一次調(diào)用旗唁,都會(huì)產(chǎn)生一條數(shù)據(jù)以及對(duì)象代表這次調(diào)用,通過(guò)對(duì)象的去重痹束,我們就得到了相應(yīng)服務(wù)的冪等性检疫;第二個(gè)原因,就是通過(guò)聚合根祷嘶,我們可以從數(shù)據(jù)層面就能夠反應(yīng)整個(gè)系統(tǒng)的調(diào)用過(guò)程屎媳,而且在一些特定的場(chǎng)景,我們完全可以有條件針對(duì)聚合根的數(shù)據(jù)论巍,來(lái)回溯系統(tǒng)的演進(jìn)過(guò)程烛谊。

那么針對(duì)聚合根還有幾個(gè)特性,我們需要了解一下:一次聚合的過(guò)程僅產(chǎn)生一個(gè)聚合根嘉汰;聚合根也是在微服務(wù)體系內(nèi)的晒来,不要設(shè)計(jì)跨服務(wù)的聚合根,特別不要設(shè)計(jì)長(zhǎng)事務(wù)的聚合根郑现。

在例舉的案例里面湃崩,底部有一條線圈就是一個(gè)聚合根。


可以看到我們認(rèn)為一次Command調(diào)用就是一個(gè)聚合接箫,Command對(duì)象就是相應(yīng)的聚合根攒读,那么我們就可以將所有的Command對(duì)象持久化到數(shù)據(jù)庫(kù)中,這樣可以代表了整個(gè)系統(tǒng)在Command側(cè)的演進(jìn)歷史辛友。這樣對(duì)后續(xù)業(yè)務(wù)和技術(shù)的支撐都是非常的有利薄扁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市废累,隨后出現(xiàn)的幾起案子邓梅,更是在濱河造成了極大的恐慌,老刑警劉巖邑滨,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件日缨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掖看,警方通過(guò)查閱死者的電腦和手機(jī)匣距,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門面哥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人毅待,你說(shuō)我怎么就攤上這事尚卫。” “怎么了尸红?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵吱涉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我外里,道長(zhǎng)邑飒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任级乐,我火速辦了婚禮疙咸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘风科。我一直安慰自己撒轮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布贼穆。 她就那樣靜靜地躺著题山,像睡著了一般。 火紅的嫁衣襯著肌膚如雪故痊。 梳的紋絲不亂的頭發(fā)上顶瞳,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音愕秫,去河邊找鬼慨菱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛戴甩,可吹牛的內(nèi)容都是我干的符喝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼甜孤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼协饲!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起缴川,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤茉稠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后把夸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體而线,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吞获。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片况凉。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谚鄙,死狀恐怖各拷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闷营,我是刑警寧澤烤黍,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站傻盟,受9級(jí)特大地震影響速蕊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娘赴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一规哲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诽表,春花似錦唉锌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泛啸,卻和暖如春绿语,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背候址。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工吕粹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岗仑。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓昂芜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親赔蒲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泌神,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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