成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

領(lǐng)域、子域、核心域、通用域以及支撐域,是不是讓人一頭霧水,完全分不清誰是誰?

開發(fā) 架構(gòu)
在微服務(wù)設(shè)計(jì)和開發(fā)過程中,不一定會(huì)用到所有這些名詞,但它們有助于理解 DDD 的核心設(shè)計(jì)思想和理念。而這些思想和理念,在 IT 戰(zhàn)略設(shè)計(jì)、業(yè)務(wù)建模和微服務(wù)設(shè)計(jì)中都具有借鑒意義。

DDD 的知識(shí)體系包含眾多名詞,如領(lǐng)域、子域、核心域、通用域、支撐域、限界上下文、聚合、聚合根、實(shí)體、值對(duì)象等。這些都是關(guān)鍵概念,但由于比較晦澀難懂,可能會(huì)讓人們?cè)谶€沒開始實(shí)踐 DDD 時(shí)就望而卻步。因此,在基礎(chǔ)篇中,我們要做好實(shí)踐前的準(zhǔn)備工作。

需要注意的是,在微服務(wù)設(shè)計(jì)和開發(fā)過程中,不一定會(huì)用到所有這些名詞,但它們有助于理解 DDD 的核心設(shè)計(jì)思想和理念。而這些思想和理念,在 IT 戰(zhàn)略設(shè)計(jì)、業(yè)務(wù)建模和微服務(wù)設(shè)計(jì)中都具有借鑒意義。

從這部分內(nèi)容開始,我們將圍繞這些 DDD 關(guān)鍵概念進(jìn)行講解,幫助大家理清它們與微服務(wù)的關(guān)系,以及它們?cè)谖⒎?wù)設(shè)計(jì)中的作用。今天重點(diǎn)了解領(lǐng)域、子域、核心域、通用域和支撐域等重要概念。

如何理解領(lǐng)域和子域?

首先看領(lǐng)域的定義。漢語詞典中解釋領(lǐng)域是從事一種專門活動(dòng)或事業(yè)的范圍、部類或部門,百度百科則解釋為一種特定的范圍或區(qū)域。這兩個(gè)解釋的共同點(diǎn)是 “范圍”,這也是 DDD 在設(shè)計(jì)中強(qiáng)調(diào)邊界的原因。

在研究和解決業(yè)務(wù)問題時(shí),DDD 會(huì)按照一定規(guī)則對(duì)業(yè)務(wù)領(lǐng)域進(jìn)行細(xì)分。當(dāng)細(xì)分到一定程度后,就會(huì)在特定邊界內(nèi)建立領(lǐng)域模型,并用代碼實(shí)現(xiàn)該模型來解決業(yè)務(wù)問題。簡(jiǎn)單來說,DDD 的領(lǐng)域就是在這個(gè)邊界內(nèi)要解決的業(yè)務(wù)問題域。

由于領(lǐng)域是用來限定業(yè)務(wù)邊界和范圍的,所以它有大小之分,領(lǐng)域越大,業(yè)務(wù)范圍就越大。

領(lǐng)域可以進(jìn)一步劃分為子域,劃分出來的多個(gè)子域分別對(duì)應(yīng)更小的問題域或更小的業(yè)務(wù)范圍。

DDD 是處理高度復(fù)雜領(lǐng)域的設(shè)計(jì)思想,它旨在分離技術(shù)實(shí)現(xiàn)的復(fù)雜度。面對(duì)復(fù)雜的業(yè)務(wù)領(lǐng)域,DDD 使業(yè)務(wù)變得簡(jiǎn)單且易于理解、技術(shù)實(shí)現(xiàn)更容易的方法與自然科學(xué)研究類似。在自然科學(xué)研究中,遇到復(fù)雜問題時(shí),通常會(huì)將問題逐步細(xì)分,然后針對(duì)細(xì)分后的問題域逐個(gè)深入研究,建立子域的知識(shí)體系。當(dāng)所有子域的研究完成后,就形成了整個(gè)領(lǐng)域的完整知識(shí)體系。


圖片

我們來看上面的圖,圖中的例子是關(guān)于如何為桃樹構(gòu)建完整的生物學(xué)知識(shí)體系,初中生物課就提到了這種研究方法,其研究過程如下:

一、確定研究對(duì)象(研究領(lǐng)域)研究對(duì)象是一棵桃樹,這相當(dāng)于 DDD 中的研究領(lǐng)域。

二、對(duì)研究對(duì)象進(jìn)行細(xì)分(劃分子域)將桃樹細(xì)分為器官,器官又分為營養(yǎng)器官(根、莖、葉)和生殖器官(花、果實(shí)、種子)。桃樹整體的知識(shí)體系就是要研究的問題域(對(duì)應(yīng) DDD 的領(lǐng)域),而根、莖、葉、花、果實(shí)和種子這些器官就是細(xì)分后的問題子域(類似于 DDD 將領(lǐng)域劃分為子域的過程)。

三、進(jìn)一步細(xì)分器官(子域再細(xì)分)例如把葉子這個(gè)器官細(xì)分為保護(hù)組織、營養(yǎng)組織和輸導(dǎo)組織等,這相當(dāng)于 DDD 中將子域進(jìn)一步細(xì)分的過程。

四、細(xì)分組織為細(xì)胞(確定最小單元)將組織細(xì)分為細(xì)胞,細(xì)胞是研究的最小單元,細(xì)胞之間的細(xì)胞壁確定了研究的最小邊界。

并且,細(xì)胞核、線粒體、細(xì)胞膜等物質(zhì)構(gòu)成細(xì)胞,這些物質(zhì)協(xié)同作用使細(xì)胞具備特定生物功能。這里可以把細(xì)胞看作 DDD 中的聚合,細(xì)胞內(nèi)的這些物質(zhì)看作聚合中的聚合根、實(shí)體和值對(duì)象等,在聚合內(nèi)這些實(shí)體協(xié)作完成特定業(yè)務(wù)功能,這類似 DDD 設(shè)計(jì)中確定微服務(wù)內(nèi)功能要素和邊界的過程。

總結(jié)來說,每個(gè)細(xì)分的領(lǐng)域都有一個(gè)知識(shí)體系,即 DDD 的領(lǐng)域模型。當(dāng)完成所有子域的研究后,就能建立全域的知識(shí)體系和全域的領(lǐng)域模型。

以上用自然科學(xué)研究方法說明了通過將領(lǐng)域細(xì)分為子域可以降低研究復(fù)雜度,接下來將切換到保險(xiǎn)行業(yè)(作者所從事行業(yè))來對(duì)比驗(yàn)證二者細(xì)分過程是否一致。

保險(xiǎn)是一個(gè)較為龐大的領(lǐng)域。在早期,保險(xiǎn)核心系統(tǒng)采用單體系統(tǒng)來實(shí)現(xiàn)所有功能。然而,隨著保險(xiǎn)業(yè)務(wù)的發(fā)展,單體系統(tǒng)逐漸無法滿足需求,于是保險(xiǎn)公司開始進(jìn)行中臺(tái)轉(zhuǎn)型,采用分布式微服務(wù)架構(gòu)來取代單體系統(tǒng)。在分布式微服務(wù)架構(gòu)下,需要?jiǎng)澐謽I(yè)務(wù)領(lǐng)域邊界、建立領(lǐng)域模型并實(shí)現(xiàn)微服務(wù)落地。

為了對(duì)保險(xiǎn)領(lǐng)域進(jìn)行建模和建設(shè)微服務(wù),可以依據(jù)業(yè)務(wù)關(guān)聯(lián)程度以及流程邊界,把保險(xiǎn)領(lǐng)域細(xì)分為承保、收付、再保、理賠等子域。其中,承保子域還能夠進(jìn)一步細(xì)分為投保、壽險(xiǎn)的保全、財(cái)險(xiǎn)的批改等子子域。

在投保這個(gè)限界上下文當(dāng)中,可以構(gòu)建投保的領(lǐng)域模型,而這個(gè)投保的領(lǐng)域模型最終會(huì)映射到系統(tǒng)中,形成投保微服務(wù)。這就是保險(xiǎn)領(lǐng)域細(xì)分和微服務(wù)建設(shè)的流程。

或許你會(huì)覺得,如果你不是保險(xiǎn)行業(yè)的從業(yè)者,很難理解這個(gè)過程。但實(shí)際上,盡管不同行業(yè)的業(yè)務(wù)模型可能各異,然而領(lǐng)域建模和微服務(wù)建設(shè)的流程與方法大體上是相似的。其核心要點(diǎn)在于逐步分解問題域,從而降低業(yè)務(wù)理解和系統(tǒng)實(shí)現(xiàn)的難度。

如何理解核心域、通用域和支撐域?

在領(lǐng)域持續(xù)細(xì)分的進(jìn)程中,領(lǐng)域會(huì)分化出各式各樣的子域,而依據(jù)子域自身的重要性以及功能特性,可將其歸為三大類別:核心域、通用域和支撐域。

核心域堪稱重中之重,它是決定產(chǎn)品及公司核心競(jìng)爭(zhēng)力的關(guān)鍵所在,承載著業(yè)務(wù)成功的關(guān)鍵要素,凝聚著公司獨(dú)一無二的核心競(jìng)爭(zhēng)力,是企業(yè)脫穎而出的制勝法寶。

通用域,所涵蓋的是那些缺乏鮮明個(gè)性化訴求,卻能被多個(gè)子域頻繁共用的通用功能子域,它為不同子域提供標(biāo)準(zhǔn)化、通用性的服務(wù),使得整體業(yè)務(wù)流程更為順暢高效。

支撐域同樣不可或缺,它屬于一種功能性子域,雖然不具備決定產(chǎn)品和公司核心競(jìng)爭(zhēng)力的關(guān)鍵功能,也并非通用功能,但卻是維持業(yè)務(wù)正常運(yùn)轉(zhuǎn)必需的基礎(chǔ)支撐部分。

對(duì)比這三類子域,核心域的地位無疑最為突出,后續(xù)在闡述相關(guān)目的時(shí),還會(huì)以核心域?yàn)榈湫瓦M(jìn)行詳盡剖析。要是將通用域和支撐域?qū)?yīng)到企業(yè)系統(tǒng)中來舉例說明的話,通用域就好比企業(yè)日常運(yùn)營中所需用到的通用系統(tǒng),像認(rèn)證、權(quán)限管理這類應(yīng)用,市面上隨處可見,幾乎不受企業(yè)特定屬性的限制,購買后稍作調(diào)整甚至無需定制化就能直接投入使用。而支撐域則帶有鮮明的企業(yè)個(gè)性特征,不具備廣泛通用性,諸如數(shù)據(jù)代碼類的數(shù)據(jù)字典等系統(tǒng),專為企業(yè)自身特定的數(shù)據(jù)管理需求而打造。

那為什么要?jiǎng)澐趾诵挠?、通用域和支撐域,主要目的是什么呢?/span>

咱們還是以上圖中的桃樹為例。之前,我們把桃樹細(xì)分成了根、莖、葉、花、果實(shí)和種子這六個(gè)子域,那桃樹到底有沒有核心域呢?要是有的話,究竟哪個(gè)才是呢?

要知道,不同的人看待桃樹的視角各異。假設(shè)這棵桃樹長在公園里,在園丁的眼中,他們盼著陽春三月能呈現(xiàn) “人面桃花相映紅” 的美景,此時(shí),花就成了桃樹的核心域??梢翘覙湓诠麍@里,果農(nóng)心心念念的是在豐收季收獲沉甸甸、碩果累累的桃子,這樣一來,果實(shí)便當(dāng)之無愧地成為桃樹的核心域。

很明顯,處于不同場(chǎng)景,人們對(duì)桃樹核心域的理解截然不同,相應(yīng)地,對(duì)桃樹的照料方式也大不一樣。園丁會(huì)著重關(guān)注桃樹花期所需的營養(yǎng),果農(nóng)卻更聚焦于桃樹落果期的營養(yǎng)補(bǔ)給,有時(shí)為了保障果實(shí)有充足的養(yǎng)分,甚至?xí)舻裟切┋傞L的莖和葉,而這些莖和葉就類似于通用域或支撐域。

同理,公司在進(jìn)行 IT 系統(tǒng)建設(shè)的時(shí)候,鑒于預(yù)算和資源往往有限,對(duì)于不同類型的子域,自然得采取不同的關(guān)注度與資源投入策略,畢竟要懂得好鋼用在刀刃上。

許多公司的業(yè)務(wù)乍一看頗為相似,實(shí)則商業(yè)模式與戰(zhàn)略方向存在天壤之別,這就使得公司的關(guān)注點(diǎn)有所不同,進(jìn)而在劃分核心域、通用域和支撐域時(shí),結(jié)果也會(huì)大相徑庭。

就拿電商平臺(tái)來說,淘寶、天貓、京東和蘇寧易購?fù)瑢匐娚谭懂?,可商業(yè)模式卻各有千秋。淘寶是典型的 C2C 網(wǎng)站,也就是個(gè)人賣家面向個(gè)人買家;天貓、京東以及蘇寧易購屬于 B2C 網(wǎng)站,即公司賣家對(duì)接個(gè)人買家。即便蘇寧易購與京東都采用 B2C 模式,二者的商業(yè)模式也不盡相同,蘇寧易購是由傳統(tǒng)線下賣場(chǎng)華麗轉(zhuǎn)身成為電商,京東則是直營結(jié)合部分平臺(tái)的運(yùn)營模式。

正是由于商業(yè)模式的差異,才導(dǎo)致核心域的劃分結(jié)果千差萬別。有些公司的核心域或許聚焦于客戶服務(wù),有些可能側(cè)重于產(chǎn)品質(zhì)量,還有些可能鎖定在物流環(huán)節(jié)。所以,公司在進(jìn)行領(lǐng)域細(xì)分、構(gòu)建領(lǐng)域模型以及推進(jìn)系統(tǒng)建設(shè)時(shí),務(wù)必要緊密結(jié)合公司的戰(zhàn)略重點(diǎn)與商業(yè)模式,精準(zhǔn)找出核心域,并且著重予以關(guān)注。

倘若你的公司恰好有意向轉(zhuǎn)型微服務(wù)架構(gòu),我在此建議你和你的技術(shù)團(tuán)隊(duì),務(wù)必將核心域的建設(shè)擺在首位,最好能具備絕對(duì)的掌控能力與自主研發(fā)能力。要是資源實(shí)在緊缺,不妨在支撐域或者通用域上動(dòng)動(dòng)腦筋,暫時(shí)采用外購的方式也不失為一種可行之舉。

領(lǐng)域的核心理念在于把問題域?qū)訉硬鸾?,一步一步?xì)分下去,以此降低業(yè)務(wù)理解方面的難度,同時(shí)也讓系統(tǒng)實(shí)現(xiàn)起來更加簡(jiǎn)便易行。借助這種領(lǐng)域細(xì)分的手段,能夠逐步收窄微服務(wù)需要應(yīng)對(duì)的問題范疇,進(jìn)而構(gòu)建出契合實(shí)際需求的領(lǐng)域模型。而一旦將領(lǐng)域模型投射到實(shí)際系統(tǒng)當(dāng)中,就轉(zhuǎn)化成了微服務(wù)。

再看核心域、支撐域以及通用域,它們存在的主要目的是:利用領(lǐng)域劃分這一方式,清晰界定出不同子域在公司內(nèi)部所具備的各異功能特性以及重要程度。如此一來,公司便能依據(jù)這些差異,針對(duì)各個(gè)子域制定不一樣的資源投入計(jì)劃與建設(shè)方案,在關(guān)注程度上自然也會(huì)有所區(qū)分。

責(zé)任編輯:武曉燕 來源: 二進(jìn)制跳動(dòng)
相關(guān)推薦

2021-01-08 13:15:30

AMD版本NVIDIA

2022-05-23 09:00:00

前端監(jiān)控搭建

2022-05-24 07:57:06

前端監(jiān)控系統(tǒng)

2010-06-08 11:25:01

HTTP協(xié)議通用頭域

2010-02-02 14:37:57

以太網(wǎng)交換技術(shù)

2010-02-02 09:38:29

Visual Stud

2011-07-15 10:43:06

AD域控制器

2021-04-27 15:20:41

人工智能機(jī)器學(xué)習(xí)技術(shù)

2011-03-25 10:38:49

邏輯域來賓域

2014-09-22 16:03:44

沖突域廣播域

2023-01-03 10:06:39

領(lǐng)域驅(qū)動(dòng)DDD哲學(xué)

2019-01-08 14:02:40

游戲本顯卡

2019-03-13 08:00:00

JavaScript作用域前端

2021-03-09 08:35:51

JSS作用域前端

2011-07-15 11:11:13

AD域控制器

2021-05-09 21:50:48

項(xiàng)目實(shí)踐上下文

2011-09-06 09:56:24

JavaScript

2011-07-27 09:13:06

2011-07-18 11:32:31

子域域控制器

2016-03-22 10:14:25

域滲透滲透測(cè)試域控權(quán)限
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品日韩欧美一区二区 | 久久久国产视频 | av中文在线 | 精精精精xxxx免费视频 | 国产探花在线精品一区二区 | 欧洲精品一区 | 国产精品精品视频一区二区三区 | 五月综合久久 | 一级午夜aaa免费看三区 | 久久精品亚洲 | 欧美精品日韩 | 亚洲av毛片 | 亚洲精品自在在线观看 | 国产在线精品一区二区三区 | 国产福利在线播放 | 亚洲欧洲小视频 | 人人亚洲| 欧美三级在线 | 欧美激情一区 | 亚洲精品日韩一区二区电影 | 男人天堂午夜 | 久久久久久久av | 国产成人高清 | 国产精品高潮呻吟 | 国产96色在线| 国产精品久久久久久久久久妇女 | 日韩aⅴ在线观看 | 丁香一区二区 | 免费看片在线播放 | 亚洲乱码一区二区三区在线观看 | 一区二区蜜桃 | 九九亚洲精品 | 成人免费视频 | 国产色 | 国产免费观看一区 | 国产精品视频免费观看 | 日韩成人av在线 | 日日干日日操 | 国产精品久久久久久吹潮 | 亚洲日韩中文字幕一区 | 国产精品久久久久久久久污网站 |