DDD實(shí)踐:如何用DDD重構(gòu)中臺(tái)業(yè)務(wù)模型?
進(jìn)入 21 世紀(jì),互聯(lián)網(wǎng)應(yīng)用迅猛發(fā)展,眾多傳統(tǒng)企業(yè)紛紛 “觸網(wǎng)”,搭建起自己的互聯(lián)網(wǎng)電商平臺(tái)。隨后,微信、App 等移動(dòng)互聯(lián)應(yīng)用強(qiáng)勢(shì)崛起,掀起了新一輪的移動(dòng)應(yīng)用熱潮。
這些移動(dòng)互聯(lián)應(yīng)用,大多面向個(gè)人用戶或第三方,市場(chǎng)需求瞬息萬(wàn)變,這就要求它們必須以敏捷的速度適應(yīng)市場(chǎng)的變化。為了滿足快速響應(yīng)與頻繁發(fā)版的需求,許多移動(dòng)互聯(lián)網(wǎng)應(yīng)用選擇獨(dú)立于傳統(tǒng)核心系統(tǒng)進(jìn)行建設(shè)。然而,兩者承載的業(yè)務(wù)大多相似,這就極易導(dǎo)致業(yè)務(wù)能力出現(xiàn)重疊。
阿里巴巴曾引領(lǐng)傳統(tǒng)企業(yè)向互聯(lián)網(wǎng)電商轉(zhuǎn)型。如今,時(shí)代進(jìn)入新的歷史時(shí)期,在阿里巴巴提出中臺(tái)戰(zhàn)略后,眾多企業(yè)緊隨其后,高舉中臺(tái)大旗,轟轟烈烈地踏上數(shù)字化轉(zhuǎn)型之路。那么,傳統(tǒng)企業(yè)在中臺(tái)轉(zhuǎn)型過(guò)程中,如何從錯(cuò)綜復(fù)雜的業(yè)務(wù)里構(gòu)建中臺(tái)業(yè)務(wù)模型呢?今天,我將通過(guò)一個(gè)傳統(tǒng)企業(yè)中臺(tái)建模的案例,帶你運(yùn)用 DDD 的設(shè)計(jì)思想,一同構(gòu)建中臺(tái)業(yè)務(wù)模型。
傳統(tǒng)企業(yè)應(yīng)用分析
互聯(lián)網(wǎng)電商平臺(tái)和傳統(tǒng)核心應(yīng)用,兩者面向的渠道和客戶不一樣,但銷售的產(chǎn)品卻很相似,它們之間的業(yè)務(wù)模型既有相同的地方,又有不同的地方。現(xiàn)在我拿保險(xiǎn)行業(yè)的互聯(lián)網(wǎng)電商和傳統(tǒng)核心應(yīng)用來(lái)做個(gè)對(duì)比分析。
我們看一下下面這張圖,這兩者在業(yè)務(wù)功能上會(huì)有很多相似和差異,這種相似和差異主要體現(xiàn)在四個(gè)方面。
圖片
1.核心能力的重復(fù)建設(shè)
以保險(xiǎn)行業(yè)為例,當(dāng)傳統(tǒng)保險(xiǎn)核心應(yīng)用與互聯(lián)網(wǎng)電商平臺(tái)銷售同質(zhì)保險(xiǎn)產(chǎn)品時(shí),二者在核心業(yè)務(wù)流程和功能上呈現(xiàn)出相似性。傳統(tǒng)保險(xiǎn)核心應(yīng)用具備報(bào)價(jià)、投保、核保和出單等功能,互聯(lián)網(wǎng)電商平臺(tái)同樣也有這些功能。這就導(dǎo)致在核心業(yè)務(wù)能力上不可避免地出現(xiàn)功能重疊,造成資源浪費(fèi)和管理成本增加。
2.通用能力的重復(fù)建設(shè)
傳統(tǒng)核心應(yīng)用的通用平臺(tái)通常規(guī)模龐大、功能齊全,但也較為笨重。互聯(lián)網(wǎng)電商平臺(tái)雖然依賴這些通用能力,但為了保持自身的敏捷性,往往會(huì)自行搭建縮小版的通用功能,例如用戶管理、客戶管理等。這種重復(fù)建設(shè)不僅耗費(fèi)人力、物力,還使得企業(yè)內(nèi)部系統(tǒng)架構(gòu)變得更為復(fù)雜。
3.業(yè)務(wù)職能的分離建設(shè)
部分業(yè)務(wù)功能在互聯(lián)網(wǎng)電商平臺(tái)和傳統(tǒng)核心應(yīng)用中分別建設(shè),且二者功能互補(bǔ),共同構(gòu)成完整的業(yè)務(wù)職能。以繳費(fèi)功能來(lái)說(shuō),互聯(lián)網(wǎng)電商平臺(tái)主要面向個(gè)人客戶,多采用支付寶和微信支付等便捷方式;而傳統(tǒng)核心應(yīng)用主要在柜臺(tái)操作,依舊使用移動(dòng) POS 機(jī)繳費(fèi)。為了確保業(yè)務(wù)模型的完整性,在構(gòu)建中臺(tái)業(yè)務(wù)模型時(shí),可考慮將這兩部分進(jìn)行重組,形成一個(gè)完整的業(yè)務(wù)模型。
4.前后端完全獨(dú)立建設(shè)
傳統(tǒng)核心應(yīng)用主要服務(wù)于柜臺(tái)業(yè)務(wù),因此并不需要互聯(lián)網(wǎng)電商平臺(tái)所具備的在線客服、話務(wù)、訂單和購(gòu)物車等功能;而互聯(lián)網(wǎng)電商平臺(tái)主要面向個(gè)人客戶,也無(wú)需后端較為復(fù)雜的再保、傭金、打印等功能。在構(gòu)建中臺(tái)業(yè)務(wù)模型時(shí),針對(duì)這種情況,應(yīng)當(dāng)區(qū)別對(duì)待,將面向后端業(yè)務(wù)管理的應(yīng)用沉淀到后臺(tái),把前端能力構(gòu)建成面向互聯(lián)網(wǎng)渠道的通用中臺(tái),如訂單中臺(tái)等。這樣的處理方式能夠有效整合資源,提升企業(yè)的整體運(yùn)營(yíng)效率。
如何避免重復(fù)造輪子?
要有效避免企業(yè)內(nèi)部的重復(fù)建設(shè),關(guān)鍵在于深入理解中臺(tái)的理念和思想。我們常說(shuō) “中臺(tái)是企業(yè)級(jí)能力復(fù)用平臺(tái)”,這里的 “復(fù)用” 通俗來(lái)講,就是重復(fù)使用,目的就是防止做重復(fù)造輪子這種浪費(fèi)資源的事。
中臺(tái)的設(shè)計(jì)思想與 “高內(nèi)聚、低耦合” 的設(shè)計(jì)原則高度契合。所謂高內(nèi)聚,就是把相關(guān)的業(yè)務(wù)行為集中整合在一起,不相關(guān)的行為則安排到其他地方。這樣一來(lái),要是需要修改某個(gè)業(yè)務(wù)行為,只需在一處進(jìn)行修改即可。沒(méi)錯(cuò),中臺(tái)就該遵循 “高內(nèi)聚、松耦合” 的原則,實(shí)現(xiàn)企業(yè)級(jí)的能力復(fù)用。
那當(dāng)企業(yè)遇到重復(fù)造輪子的情況時(shí),該如何應(yīng)對(duì)呢?這就需要站在企業(yè)整體的高度去考量,將那些重復(fù)的、需要共享的通用能力和核心能力沉淀到中臺(tái)。同時(shí),把分散的業(yè)務(wù)能力重新組合,形成完整的業(yè)務(wù)板塊,以此構(gòu)建可復(fù)用的中臺(tái)業(yè)務(wù)模型。具體來(lái)說(shuō),前端的個(gè)性化能力就歸前端負(fù)責(zé),后端的管理能力則由后臺(tái)承擔(dān)。通過(guò)這種方式,建立起前、中、后臺(tái)邊界清晰,又能相互融合協(xié)作的企業(yè)級(jí)可復(fù)用業(yè)務(wù)模型,從而提升企業(yè)整體的運(yùn)營(yíng)效率和資源利用率,避免不必要的重復(fù)建設(shè)。
如何構(gòu)建中臺(tái)業(yè)務(wù)模型?
我們可以用 DDD 領(lǐng)域建模的方法來(lái)構(gòu)建中臺(tái)業(yè)務(wù)模型。你可以選擇兩種建模策略:自頂向下和自底向上的策略。具體采用哪種策略,你需要結(jié)合公司的具體情況來(lái)分析,下面我就來(lái)介紹一下這兩種策略。
1. 自頂向下的策略
在企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)程中,有效規(guī)避重復(fù)建設(shè)是提升效率、節(jié)約資源的關(guān)鍵,而這離不開(kāi)對(duì)中臺(tái)理念與思想的深度領(lǐng)會(huì)。中臺(tái)被定義為 “企業(yè)級(jí)能力復(fù)用平臺(tái)”,“復(fù)用” 即重復(fù)使用,旨在杜絕重復(fù)造輪子這類資源浪費(fèi)現(xiàn)象。
中臺(tái)設(shè)計(jì)思想與 “高內(nèi)聚、低耦合” 原則緊密相連。高內(nèi)聚是將關(guān)聯(lián)業(yè)務(wù)行為整合一處,無(wú)關(guān)行為放置別處,這使得業(yè)務(wù)行為修改只需在一處操作,十分便捷。中臺(tái)正是遵循 “高內(nèi)聚、松耦合” 原則,達(dá)成企業(yè)級(jí)能力復(fù)用。
當(dāng)企業(yè)面臨重復(fù)造輪子問(wèn)題時(shí),需從企業(yè)整體視角出發(fā),將重復(fù)且需共享的通用能力、核心能力沉淀到中臺(tái),整合分散的業(yè)務(wù)能力,構(gòu)建可復(fù)用的中臺(tái)業(yè)務(wù)模型。具體而言,前端負(fù)責(zé)個(gè)性化能力,后端承擔(dān)管理能力,構(gòu)建前、中、后臺(tái)邊界明晰且協(xié)同合作的企業(yè)級(jí)可復(fù)用業(yè)務(wù)模型,提升運(yùn)營(yíng)效率,避免重復(fù)建設(shè)。
下面介紹第一種策略 —— 自頂向下。這種策略的核心是先開(kāi)展頂層設(shè)計(jì),從最高領(lǐng)域逐步細(xì)化分解至中臺(tái),并分別構(gòu)建領(lǐng)域模型。依據(jù)業(yè)務(wù)屬性,中臺(tái)又可分為通用中臺(tái)和核心中臺(tái)。在領(lǐng)域建模階段,主要依據(jù)業(yè)務(wù)實(shí)際狀況進(jìn)行,暫不考慮現(xiàn)有系統(tǒng)。自頂向下策略適用于全新應(yīng)用系統(tǒng)開(kāi)發(fā),或是舊系統(tǒng)全面重構(gòu)的情形。由于不受現(xiàn)有系統(tǒng)的制約,可采用 DDD 領(lǐng)域逐級(jí)分解的領(lǐng)域建模方法。主要步驟如下:
- 領(lǐng)域分解:把領(lǐng)域拆分為子域,子域包含核心域、通用域和支撐域。
- 子域建模:對(duì)各子域進(jìn)行建模,明確領(lǐng)域邊界,構(gòu)建領(lǐng)域模型和限界上下文。
- 微服務(wù)設(shè)計(jì):依據(jù)限界上下文進(jìn)行微服務(wù)設(shè)計(jì)。
圖片
2. 自底向上的策略
在闡述完自頂向下的策略后,下面為你介紹第二種策略 —— 自底向上。這種策略的特點(diǎn)是緊密依托業(yè)務(wù)和系統(tǒng)的當(dāng)前實(shí)際狀況來(lái)開(kāi)展領(lǐng)域建模工作。
其具體實(shí)施過(guò)程如下:首先,針對(duì)每個(gè)系統(tǒng)所處的業(yè)務(wù)域分別進(jìn)行全面的領(lǐng)域建模。在這個(gè)過(guò)程中,深入剖析各個(gè)業(yè)務(wù)域的業(yè)務(wù)流程、規(guī)則以及數(shù)據(jù)關(guān)系等,從而構(gòu)建出相對(duì)獨(dú)立的領(lǐng)域模型。接著,進(jìn)行業(yè)務(wù)域?qū)R操作,即仔細(xì)甄別出那些具有相同或相似業(yè)務(wù)功能的領(lǐng)域模型。通過(guò)對(duì)比分析這些模型之間的差異,對(duì)領(lǐng)域?qū)ο筮M(jìn)行重新組合,進(jìn)而對(duì)領(lǐng)域模型進(jìn)行重構(gòu)。在這一過(guò)程中,能夠有效沉淀出公共的、可復(fù)用的業(yè)務(wù)能力,同時(shí)將原本分散的業(yè)務(wù)模型進(jìn)行有機(jī)整合 ,形成更為高效、統(tǒng)一的業(yè)務(wù)架構(gòu)。
自底向上策略尤其適用于遺留系統(tǒng)業(yè)務(wù)模型的演進(jìn)式重構(gòu)。通過(guò)這種方式,能夠充分利用現(xiàn)有系統(tǒng)的資源,在不進(jìn)行大規(guī)模推倒重建的基礎(chǔ)上,逐步優(yōu)化和完善業(yè)務(wù)模型,降低系統(tǒng)改造的風(fēng)險(xiǎn)和成本。
接下來(lái),我將以互聯(lián)網(wǎng)電商和傳統(tǒng)核心應(yīng)用的幾個(gè)典型業(yè)務(wù)域?yàn)閷?shí)例,詳細(xì)為你講解如何運(yùn)用自底向上的策略來(lái)構(gòu)建中臺(tái)業(yè)務(wù)模型,主要分為以下三個(gè)步驟。
第一步:鎖定系統(tǒng)所在業(yè)務(wù)域,構(gòu)建領(lǐng)域模型。
鎖定系統(tǒng)所在的業(yè)務(wù)域,采用事件風(fēng)暴,找出領(lǐng)域?qū)ο螅瑯?gòu)建聚合,劃分限界上下文,建立領(lǐng)域模型。看一下下面這張圖,我們選取了傳統(tǒng)核心應(yīng)用的用戶、客戶、傳統(tǒng)收付和承保四個(gè)業(yè)務(wù)域以及互聯(lián)網(wǎng)電商業(yè)務(wù)域,共計(jì)五個(gè)業(yè)務(wù)域來(lái)完成領(lǐng)域建模。
圖片
從上述示意圖中,我們能夠清晰地看到,傳統(tǒng)核心系統(tǒng)共構(gòu)建了八個(gè)領(lǐng)域模型。在用戶域,搭建了用戶認(rèn)證和權(quán)限這兩個(gè)領(lǐng)域模型;客戶域則構(gòu)建了個(gè)人與團(tuán)體兩個(gè)領(lǐng)域模型;傳統(tǒng)收付領(lǐng)域構(gòu)建了 POS 刷卡領(lǐng)域模型;承保域構(gòu)建了定報(bào)價(jià)、投保和保單管理三個(gè)領(lǐng)域模型。而互聯(lián)網(wǎng)電商構(gòu)建了報(bào)價(jià)、投保、訂單、客戶、用戶認(rèn)證和移動(dòng)收付六個(gè)領(lǐng)域模型。
對(duì)比這些領(lǐng)域模型清單,不難發(fā)現(xiàn),傳統(tǒng)核心系統(tǒng)與互聯(lián)網(wǎng)電商之間存在諸多名稱相似的領(lǐng)域模型。經(jīng)過(guò)深入分析會(huì)發(fā)現(xiàn),這些看似相似的領(lǐng)域模型,實(shí)則存在業(yè)務(wù)能力重復(fù)的情況,或者像移動(dòng)支付與傳統(tǒng)支付這樣,業(yè)務(wù)職能處于分散狀態(tài)。
基于此,在構(gòu)建中臺(tái)業(yè)務(wù)模型時(shí),我們就需要重點(diǎn)聚焦這些領(lǐng)域模型。將不同領(lǐng)域模型中重復(fù)的業(yè)務(wù)能力,精準(zhǔn)沉淀到中臺(tái)業(yè)務(wù)模型中,同時(shí)把分散的領(lǐng)域模型整合為統(tǒng)一的中臺(tái)業(yè)務(wù)模型,最終對(duì)外提供統(tǒng)一且共享的中臺(tái)服務(wù)。如此一來(lái),便能有效提升企業(yè)資源的利用效率,減少重復(fù)建設(shè)帶來(lái)的資源浪費(fèi),推動(dòng)企業(yè)數(shù)字化轉(zhuǎn)型的順利進(jìn)行。
第二步:對(duì)齊業(yè)務(wù)域,構(gòu)建中臺(tái)業(yè)務(wù)模型。
從這張圖中,我們能直觀地發(fā)現(xiàn),右側(cè)傳統(tǒng)核心的領(lǐng)域模型數(shù)量明顯多于左側(cè)互聯(lián)網(wǎng)電商的領(lǐng)域模型。由此,我們可以初步推斷:傳統(tǒng)核心主要面向企業(yè)內(nèi)部的大部分應(yīng)用,追求全面覆蓋,所以其領(lǐng)域模型相對(duì)完備;而互聯(lián)網(wǎng)電商僅面向單一渠道,領(lǐng)域模型相對(duì)單一。
這一結(jié)論為我們構(gòu)建中臺(tái)業(yè)務(wù)模型提供了方向。我們可以將傳統(tǒng)核心的領(lǐng)域模型作為構(gòu)建中臺(tái)業(yè)務(wù)模型的主要依據(jù),把互聯(lián)網(wǎng)電商領(lǐng)域模型當(dāng)作輔助。具體來(lái)說(shuō),先把互聯(lián)網(wǎng)電商中重復(fù)的能力整合到傳統(tǒng)核心的領(lǐng)域模型中,互聯(lián)網(wǎng)電商則僅保留像訂單這類個(gè)性化能力。
在中臺(tái)業(yè)務(wù)建模過(guò)程中,我們不僅要注重領(lǐng)域模型的完備性,以確保業(yè)務(wù)的全面支持;還要充分考慮不同渠道對(duì)市場(chǎng)的敏捷響應(yīng)需求,使中臺(tái)既能承載豐富的業(yè)務(wù)功能,又能靈活應(yīng)對(duì)市場(chǎng)變化,從而提升企業(yè)整體的競(jìng)爭(zhēng)力和運(yùn)營(yíng)效率,有力推動(dòng)企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)程。
圖片
基于已有的構(gòu)建中臺(tái)業(yè)務(wù)模型思路,我們正式開(kāi)啟構(gòu)建之旅。首先,從互聯(lián)網(wǎng)電商和傳統(tǒng)核心的領(lǐng)域模型入手,歸納并分離出能夠覆蓋這兩個(gè)域的全部業(yè)務(wù)子域。經(jīng)過(guò)深入分析,我們確定了用戶、客戶、承保、收付和訂單這五個(gè)業(yè)務(wù)域,它們將作為領(lǐng)域模型對(duì)比分析的基準(zhǔn)域。
接下來(lái),我以客戶業(yè)務(wù)域?yàn)槔敿?xì)闡述客戶中臺(tái)業(yè)務(wù)模型的構(gòu)建過(guò)程。互聯(lián)網(wǎng)電商的客戶主要面向個(gè)人客戶,除了具備個(gè)人客戶信息管理功能,出于營(yíng)銷目的,還設(shè)有客戶積分功能。所以,其領(lǐng)域模型包含個(gè)人和積分兩個(gè)聚合。反觀傳統(tǒng)核心客戶,不僅支持個(gè)人客戶,還涵蓋單位和組織機(jī)構(gòu)等團(tuán)體客戶,擁有個(gè)人和團(tuán)體兩個(gè)領(lǐng)域模型。在個(gè)人領(lǐng)域模型中,除個(gè)人客戶信息管理功能外,還涉及個(gè)人客戶的評(píng)級(jí)、重復(fù)客戶的歸并以及客戶的統(tǒng)一視圖等功能,對(duì)應(yīng)個(gè)人、視圖、評(píng)級(jí)和歸并四個(gè)聚合。
構(gòu)建多業(yè)務(wù)域中臺(tái)業(yè)務(wù)模型的關(guān)鍵在于,找出同一業(yè)務(wù)域內(nèi)所有同類業(yè)務(wù)的領(lǐng)域模型,對(duì)域內(nèi)領(lǐng)域模型和聚合的差異與共同點(diǎn)展開(kāi)對(duì)比分析,突破原有的模型框架,完成新中臺(tái)業(yè)務(wù)模型的重組或歸并。我們將互聯(lián)網(wǎng)電商和傳統(tǒng)核心的領(lǐng)域模型進(jìn)行分解后,發(fā)現(xiàn)了五個(gè)與個(gè)人客戶領(lǐng)域相關(guān)的聚合,分別是個(gè)人、積分、評(píng)級(jí)、歸并和視圖。這些聚合原本分散在不同的領(lǐng)域模型中,現(xiàn)在需要打破原有的領(lǐng)域模型限制,進(jìn)行功能沉淀和聚合的重新組合,重新確定這些聚合的限界上下文,進(jìn)而重構(gòu)領(lǐng)域模型。最終,個(gè)人客戶的領(lǐng)域模型重構(gòu)如下:將個(gè)人、歸并和視圖三個(gè)聚合重構(gòu)成個(gè)人領(lǐng)域模型,主要負(fù)責(zé)客戶信息管理;評(píng)級(jí)和積分兩個(gè)聚合重構(gòu)成評(píng)級(jí)積分領(lǐng)域模型,主要面向個(gè)人客戶。到這里,個(gè)人客戶領(lǐng)域模型構(gòu)建完成。
等等,似乎還有遺漏。沒(méi)錯(cuò),還有團(tuán)體客戶領(lǐng)域模型!實(shí)際上,團(tuán)體客戶相對(duì)簡(jiǎn)單,因?yàn)樗鼉H在傳統(tǒng)核心中出現(xiàn),我們直接將其在傳統(tǒng)核心中的領(lǐng)域模型拿來(lái)使用即可。至此,我們成功完成了客戶中臺(tái)業(yè)務(wù)模型的構(gòu)建,該中臺(tái)包含個(gè)人、團(tuán)體和評(píng)級(jí)積分三個(gè)領(lǐng)域模型。
通過(guò)這次客戶中臺(tái)業(yè)務(wù)模型的構(gòu)建過(guò)程,你是否掌握了構(gòu)建中臺(tái)業(yè)務(wù)模型的要點(diǎn)呢?簡(jiǎn)單總結(jié)就是:“分域建模型,找準(zhǔn)基準(zhǔn)域,劃定上下文,聚合重歸類。” 其他業(yè)務(wù)域的構(gòu)建過(guò)程亦是如此,這里就不再逐一贅述。大家可以自行練習(xí),將其作為課后作業(yè)。完成后,可對(duì)照下面這張圖進(jìn)行檢查,這是其他業(yè)務(wù)域重構(gòu)后的中臺(tái)業(yè)務(wù)模型。
圖片
第三步:中臺(tái)歸類,根據(jù)領(lǐng)域模型設(shè)計(jì)微服務(wù)。
完成中臺(tái)業(yè)務(wù)建模后,我們就有了下面這張圖。從這張圖中我們可以看到總共構(gòu)建了多少個(gè)中臺(tái),中臺(tái)下面有哪些領(lǐng)域模型,哪些中臺(tái)是通用中臺(tái),哪些中臺(tái)是核心中臺(tái),中臺(tái)的基本信息等等,都一目了然。你根據(jù)中臺(tái)下的領(lǐng)域模型就可以設(shè)計(jì)微服務(wù)了。
圖片
重構(gòu)過(guò)程中的領(lǐng)域?qū)ο?/span>
上面主要是從聚合的角度來(lái)描述中臺(tái)業(yè)務(wù)模型的重組,是相對(duì)高階的業(yè)務(wù)模塊的重構(gòu)。業(yè)務(wù)模型重構(gòu)和聚合重組,往往會(huì)帶來(lái)領(lǐng)域?qū)ο蠛蜆I(yè)務(wù)行為的變化。下面我?guī)懔私庖幌拢陬I(lǐng)域模型重組過(guò)程中,發(fā)生在更底層的領(lǐng)域?qū)ο蟮幕顒?dòng)。我們還是以客戶為例來(lái)講述。由于對(duì)象過(guò)多,我只選取了部分領(lǐng)域?qū)ο蠛蜆I(yè)務(wù)行為。傳統(tǒng)核心客戶領(lǐng)域模型重構(gòu)之前,包含個(gè)人、團(tuán)體和評(píng)級(jí)三個(gè)聚合,每個(gè)聚合內(nèi)部都有自己的聚合根、實(shí)體、方法和領(lǐng)域服務(wù)等。
圖片
互聯(lián)網(wǎng)電商客戶領(lǐng)域模型重構(gòu)前包含個(gè)人和積分兩個(gè)聚合,每個(gè)聚合包含了自己的領(lǐng)域?qū)ο蟆⒎椒ê皖I(lǐng)域服務(wù)等。
圖片
將傳統(tǒng)核心和互聯(lián)網(wǎng)電商的客戶領(lǐng)域模型重構(gòu)成客戶中臺(tái)后,形成了個(gè)人、團(tuán)體和評(píng)級(jí)積分這三個(gè)領(lǐng)域模型。其中,個(gè)人領(lǐng)域模型包含個(gè)人聚合,團(tuán)體領(lǐng)域模型包含團(tuán)體聚合,評(píng)級(jí)積分領(lǐng)域模型則由評(píng)級(jí)和積分兩個(gè)聚合組成。
這些新領(lǐng)域模型的領(lǐng)域?qū)ο蠖荚醋栽械念I(lǐng)域模型。不過(guò),評(píng)級(jí)積分是經(jīng)過(guò)重組產(chǎn)生的領(lǐng)域模型,原有的聚合會(huì)帶著各自的領(lǐng)域?qū)ο笕谌胄碌念I(lǐng)域模型中。值得注意的是,根據(jù)新的業(yè)務(wù)要求,部分領(lǐng)域?qū)ο罂赡軙?huì)從原聚合中分離出來(lái),重新組合到其他聚合里。
此外,新領(lǐng)域模型中的領(lǐng)域?qū)ο螅鐚?shí)體、領(lǐng)域服務(wù)等,在完成重組后,可能還需要依據(jù)新的業(yè)務(wù)場(chǎng)景和需求進(jìn)行代碼重構(gòu)。通過(guò)這樣的操作,能讓新領(lǐng)域模型更好地適應(yīng)業(yè)務(wù)發(fā)展,為企業(yè)的數(shù)字化轉(zhuǎn)型提供更有力的支持。
圖片






























