領(lǐng)域驅(qū)動設(shè)計實戰(zhàn)落地解惑

軟件開發(fā)不是一蹴而就的事情,我們不可能在不了解產(chǎn)品(或行業(yè)領(lǐng)域)的前提下進行軟件開發(fā),在開發(fā)前,通常需要進行大量的業(yè)務(wù)知識梳理,而后到達軟件設(shè)計的層面,最后才是開發(fā)。而在業(yè)務(wù)知識梳理的過程中,我們必然會形成某個領(lǐng)域知識,根據(jù)領(lǐng)域知識來一步步驅(qū)動軟件設(shè)計,就是領(lǐng)域驅(qū)動設(shè)計(DDD)的基本概念。
DDD是更小粒度的迭代設(shè)計,它的最小單元是領(lǐng)域模型(Domain Model),所謂領(lǐng)域模型就是能夠精確反映領(lǐng)域中某一知識元素的載體,這種知識的獲取需要通過與領(lǐng)域?qū)<?Domain Expert)進行頻繁的溝通才能將專業(yè)知識轉(zhuǎn)化為領(lǐng)域模型。領(lǐng)域模型無關(guān)技術(shù),具有高度的業(yè)務(wù)抽象性,它能夠精確的描述領(lǐng)域中的知識體系;同時它也是獨立的,我們還需要學會如何讓它具有表達性,讓模型彼此之間建立關(guān)系,形成完整的領(lǐng)域架構(gòu)。
通常我們可以用象形圖或一種通用的語言(Ubiquitous Language)去描述它們之間的關(guān)系。在此之上,我們就可以進行領(lǐng)域中的代碼設(shè)計(Domain Code Design)。到底什么是領(lǐng)域模型呢?
今天,分享的內(nèi)容將從DDD適合使用的場景以及價值、四層分包在DDD落地實踐中的最佳實踐、基礎(chǔ)設(shè)施層與ACL的落地經(jīng)驗、DDD核心模型腐化的思考與實踐等多維度全方位對DDD進行解讀。


































推薦閱讀:
企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
