— 新聞中心 —
NEWS CENTRES郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號
人氣:
因?yàn)閷?shí)踐DDD 的關(guān)鍵不是這個(gè)戰(zhàn)術(shù)層面模型的實(shí)現(xiàn),而是遵守其宏觀的領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)思想,比如統(tǒng)一語言、領(lǐng)域模型與代碼的一致性、子領(lǐng)域與上下文的拆分與映射、領(lǐng)域的分離等。在劃分領(lǐng)域時(shí),我們也離不開時(shí)間尺度對象,通過收斂相關(guān)的時(shí)間尺度對象來劃分領(lǐng)域。 Eric Evans提供的模型驅(qū)動(dòng)設(shè)計(jì)的結(jié)構(gòu)要素以及它們之間的關(guān)系如下圖所示: 上線活動(dòng):當(dāng)運(yùn)營方確認(rèn)該活動(dòng)可以上線后,就可以對該活動(dòng)進(jìn)行上線操作。
如果團(tuán)隊(duì)沒有熟悉應(yīng)用程序所需領(lǐng)域知識(shí)的領(lǐng)域?qū)<?,那么即使是最熟練的開發(fā)人員也無濟(jì)于事。領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)實(shí)踐依靠持續(xù)迭代和持續(xù)集成來構(gòu)建高度可擴(kuò)展的項(xiàng)目,但這種基于時(shí)間的迭代和持續(xù)集成可能會(huì)成為某些團(tuán)隊(duì)的障礙,特別是如果過去的經(jīng)驗(yàn)是基于僵化的開發(fā)模型,例如瀑布模型。
不要太關(guān)注書中描述的具體技術(shù)和設(shè)計(jì)方法。領(lǐng)域模型貫穿概念模型、邏輯和物理設(shè)計(jì)模型,貫穿從需求收集、分析、設(shè)計(jì)、實(shí)現(xiàn)到測試部署的整個(gè)開發(fā)過程。要注意從整體的角度去理解。領(lǐng)域驅(qū)動(dòng)思維收集需求時(shí),與業(yè)務(wù)專家的溝通就開始了領(lǐng)域模型的建模工作;深入分析和整合需求。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)是要深入了解大象并了解其特征、行為和需求。
一個(gè)域可以劃分為多個(gè)子域,一個(gè)子域又可以劃分為多個(gè)子子域。有界上下文本質(zhì)上是一種子子域。那么在分解業(yè)務(wù)時(shí),業(yè)務(wù)模塊是域、子域還是子子域呢?領(lǐng)域是知識(shí)或活動(dòng)的集合。與軟件系統(tǒng)相比,領(lǐng)域是軟件應(yīng)用程序要解決的實(shí)際問題的領(lǐng)域。但主要區(qū)別在于,領(lǐng)域模型設(shè)計(jì)的出發(fā)點(diǎn)是客觀世界,因此保證了客觀需求與直接需求的一致性。在此基礎(chǔ)上指導(dǎo)程序開發(fā),保證軟件與需求的一致性。
DDD強(qiáng)調(diào)需要領(lǐng)域?qū)<也拍軜?gòu)建項(xiàng)目所依賴的統(tǒng)一語言和領(lǐng)域模型。然而,如果項(xiàng)目的技術(shù)復(fù)雜度很高,那么領(lǐng)域理解它就是一個(gè)挑戰(zhàn)。領(lǐng)域服務(wù):領(lǐng)域服務(wù)就好比一個(gè)專業(yè)的服務(wù)提供者,可以處理領(lǐng)域內(nèi)復(fù)雜的業(yè)務(wù)邏輯或者跨多個(gè)實(shí)體的操作,類似于醫(yī)生或律師。
本書提供了領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的系統(tǒng)方法,集成了一些普遍接受的最佳實(shí)踐,融入了作者的見解和經(jīng)驗(yàn),并展示了一些可擴(kuò)展的設(shè)計(jì)最佳實(shí)踐和經(jīng)過驗(yàn)證的技術(shù)和基本原則,有助于復(fù)雜領(lǐng)域中軟件項(xiàng)目的開發(fā)。戰(zhàn)略設(shè)計(jì)的初衷是保持模型的完整性,通過戰(zhàn)略設(shè)計(jì)將整個(gè)軟件系統(tǒng)分解為多個(gè)有界上下文,然后針對每個(gè)有界上下文進(jìn)行戰(zhàn)術(shù)設(shè)計(jì)。
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)是一種軟件開發(fā)方法,旨在幫助開發(fā)團(tuán)隊(duì)更好地理解業(yè)務(wù)需求并將其映射到軟件設(shè)計(jì)中。
相關(guān)推薦