DDD到底什么鬼?

4月,InfoQ 發(fā)布了軟件架構(gòu)與設(shè)計(jì)的趨勢報(bào)告。在報(bào)告中可以看出,微服務(wù)、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)等已經(jīng)非常流行,并成為目前軟件開發(fā)行業(yè)的主流趨勢。
大家都知道,微服務(wù)劃分的一個(gè)重要理論基礎(chǔ)就是領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。但由于 DDD 門檻高、概念多,體系龐大又抽象,再加上缺少實(shí)踐經(jīng)驗(yàn)和案例指導(dǎo),很多開發(fā)人員對 DDD 存在不少疑惑:
理論文章多,涉及太多知識點(diǎn),無從下手!
這么牛逼的技術(shù),不能落地有什么用?
為何需要領(lǐng)域?qū)<覅⑴c到項(xiàng)目開發(fā)中來?
DDD 與微服務(wù)的關(guān)系?
DDD 落地案例市面上少見,真的靠譜嗎?
領(lǐng)導(dǎo)都不懂 DDD,怎么推!
……
許多朋友對其價(jià)值收益感受不明顯,主要這兩點(diǎn)原因:一是落地困難,對開發(fā)人員的能力要求比較高,二是不清楚到底用在哪里,為什么要用、怎么用。
其實(shí),DDD是一套完整而系統(tǒng)的設(shè)計(jì)方法,并非一種架構(gòu)。它能帶給你從戰(zhàn)略設(shè)計(jì)到戰(zhàn)術(shù)設(shè)計(jì)的標(biāo)準(zhǔn)設(shè)計(jì)過程,使得你的設(shè)計(jì)思路能夠更加清晰,設(shè)計(jì)過程更加規(guī)范,有助于提高技術(shù)人的架構(gòu)設(shè)計(jì)能力。無論是在新項(xiàng)目中設(shè)計(jì)微服務(wù),還是將系統(tǒng)從單體架構(gòu)演進(jìn)到微服務(wù),DDD 都大有助力。
為什么要使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)?

當(dāng)軟件在開發(fā)初期,以數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)方式非常容易上手,但是隨著業(yè)務(wù)的增長和項(xiàng)目的推進(jìn),軟件開發(fā)和維護(hù)難度急劇升高。 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)則在項(xiàng)目初期就處在一個(gè)比較難以上手的位置,但是隨著業(yè)務(wù)的增長和項(xiàng)目的推進(jìn),軟件開發(fā)和維護(hù)難度平滑上升。
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的核心是什么?


DDD的優(yōu)勢及未來
