領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)重?zé)ㄐ律?/h1> 原創(chuàng)
【51CTO.com原創(chuàng)稿件】領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain Driven Design,DDD),對(duì)于很多人來(lái)說(shuō)還比較陌生,但這其實(shí)并不是什么新概念。早在2003年,英國(guó)的架構(gòu)師Eric Evans在處理日常工作時(shí),面對(duì)著大型的復(fù)雜軟件系統(tǒng),在做系統(tǒng)架構(gòu)設(shè)計(jì)的時(shí)候,想要嘗試總結(jié)出一套能夠正確地實(shí)施面向?qū)ο缶幊痰募軜?gòu)設(shè)計(jì)。***他得出的結(jié)論是,不僅僅要面對(duì)對(duì)象或者編程去做封裝,同時(shí)也應(yīng)該讓技術(shù)人員和業(yè)務(wù)人員加強(qiáng)合作,一起協(xié)同設(shè)計(jì)架構(gòu)。他圍繞這個(gè)設(shè)計(jì)概念做了兩層的實(shí)踐。
***層實(shí)踐是戰(zhàn)略層的實(shí)踐,主要解決的是如何識(shí)別所要解決的問(wèn)題中包含的小問(wèn)題,這些小問(wèn)題的邊界如何識(shí)別。第二層實(shí)踐是基于對(duì)整個(gè)問(wèn)題的認(rèn)知,也就是如何劃分工作團(tuán)隊(duì)的邊界和系統(tǒng)本身的內(nèi)部模塊的邊界。
領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的思想、原則與模式有助于提高團(tuán)隊(duì)成員的面向?qū)ο笤O(shè)計(jì)能力與架構(gòu)設(shè)計(jì)能力,是一套完整而系統(tǒng)的設(shè)計(jì)方法。它能帶來(lái)從戰(zhàn)略設(shè)計(jì)到戰(zhàn)術(shù)設(shè)計(jì)的規(guī)范過(guò)程,使設(shè)計(jì)思路能夠更加清晰,設(shè)計(jì)過(guò)程更加規(guī)范。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)尤其善于處理與領(lǐng)域相關(guān)的高復(fù)雜度的業(yè)務(wù)的產(chǎn)品研發(fā),通過(guò)它可以建立一個(gè)穩(wěn)定的領(lǐng)域模型內(nèi)核,有利于領(lǐng)域知識(shí)的傳遞與傳承。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)強(qiáng)調(diào)團(tuán)隊(duì)與領(lǐng)域?qū)<业暮献鳎軌驇椭⒁粋€(gè)溝通良好的團(tuán)隊(duì)組織,構(gòu)建一致的架構(gòu)體系。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)還善于處理系統(tǒng)架構(gòu)的演進(jìn)設(shè)計(jì)。
DDD China:DDD在中國(guó)的布道者
可惜的是,對(duì)于這樣一個(gè)在國(guó)外 IT 圈享有盛譽(yù)并行之有效的設(shè)計(jì)方法學(xué),并不為國(guó)內(nèi)大多數(shù)的技術(shù)人員所知,也未曾運(yùn)用到項(xiàng)目實(shí)踐中。直至2014年,云和微服務(wù)時(shí)代的到來(lái),給軟件架構(gòu)設(shè)計(jì)提出了新的挑戰(zhàn)和機(jī)遇,DDD無(wú)疑成為了這個(gè)時(shí)代的優(yōu)秀的架構(gòu)方法。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)與微服務(wù)架構(gòu)天生匹配,無(wú)論是在新項(xiàng)目中設(shè)計(jì)微服務(wù)架構(gòu),還是將系統(tǒng)從單體架構(gòu)演進(jìn)到微服務(wù)設(shè)計(jì),都可以遵循領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的架構(gòu)原則。隨著微服務(wù)架構(gòu)的普及,組織關(guān)注的問(wèn)題不再是是否選擇微服務(wù),而是如何發(fā)揮微服務(wù)架構(gòu)本真的價(jià)值。在基于DDD精心設(shè)計(jì)以業(yè)務(wù)為中心的微服務(wù)架構(gòu)后,云平臺(tái)部署、容器化、DevOps、CI/CD等將與微服務(wù)架構(gòu)融合協(xié)作,以真正達(dá)到提升業(yè)務(wù)響應(yīng)力的目的,這套完整的體系被稱(chēng)為Cloud Native。
為了給國(guó)內(nèi)的DDD實(shí)踐者們提供一個(gè)互相交流、分享自己團(tuán)隊(duì)的成功經(jīng)驗(yàn)的機(jī)會(huì)的平臺(tái),使DDD的架構(gòu)思想能夠在國(guó)內(nèi)被更多人所認(rèn)知,從而形成更大的規(guī)模效應(yīng)。作為國(guó)內(nèi)DDD思想和實(shí)踐的領(lǐng)軍者——ThoughtWorks發(fā)起了領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中國(guó)峰會(huì)。繼***屆領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中國(guó)峰會(huì)于2017年成功舉辦之后,第二屆領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)相關(guān)大會(huì)——2018領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)中國(guó)峰會(huì)(2018 DDD China Conference)近日在北京舉行。
演進(jìn)式架構(gòu):持續(xù)推動(dòng)業(yè)務(wù)創(chuàng)新
全球軟件設(shè)計(jì)與定制***企業(yè)ThoughtWorks提出了演進(jìn)式架構(gòu),據(jù)DDD China聯(lián)合發(fā)起人,ThoughtWorks資深咨詢(xún)顧問(wèn)王威介紹,傳統(tǒng)的適應(yīng)性架構(gòu)通過(guò)配置系統(tǒng)、或者配置文件來(lái)支撐整個(gè)系統(tǒng),當(dāng)業(yè)務(wù)改變的時(shí)候需要更改配置項(xiàng),來(lái)讓系統(tǒng)適應(yīng)新業(yè)務(wù)流程,此時(shí)的開(kāi)發(fā)和運(yùn)維是完全分開(kāi)的。演進(jìn)式架構(gòu)除了技術(shù)、解決方案的維度,還加入了時(shí)間的維度,演進(jìn)式架構(gòu)的設(shè)計(jì)本身就是支持由于新業(yè)務(wù)不斷出現(xiàn)所帶來(lái)的演進(jìn)式問(wèn)題,是建立在持續(xù)集成、持續(xù)交付、DevOps、基礎(chǔ)設(shè)施即代碼的基礎(chǔ)之上的,與原來(lái)的適應(yīng)性架構(gòu)的技術(shù)趨勢(shì)生態(tài)不大相同。
DDD China聯(lián)合發(fā)起人,ThoughtWorks資深咨詢(xún)顧問(wèn)王威
“通過(guò)自動(dòng)化的工具和架構(gòu)治理的量化,去保證架構(gòu)演進(jìn)的方向和業(yè)務(wù)演進(jìn)的方向是一致的,且是同步的,從而保障在一段時(shí)間范圍內(nèi),架構(gòu)仍然具備對(duì)業(yè)務(wù)的快速響應(yīng)。”王威表示。
演進(jìn)式架構(gòu)把原來(lái)的架構(gòu)設(shè)計(jì)從文檔變成了適應(yīng)函數(shù),讓架構(gòu)師清晰地看到當(dāng)前架構(gòu)的特征,并指出演進(jìn)方向,讓新的架構(gòu)師可以迅速接任原來(lái)的工作。所以,對(duì)企業(yè)來(lái)說(shuō),演進(jìn)式架構(gòu)可以減少企業(yè)對(duì)特定架構(gòu)師的依賴(lài),有效減少因人員變動(dòng)而對(duì)現(xiàn)有IT架構(gòu)持續(xù)演進(jìn)帶來(lái)的負(fù)面影響。
2018 DDD China Conference還為與會(huì)者奉獻(xiàn)了三場(chǎng)主題工作坊,在參與感極強(qiáng)的組織形式下,讓企業(yè)管理者、IT治理者以及一線架構(gòu)師共同收獲知識(shí)和成長(zhǎng)。
據(jù)了解,本次由戴姆勒中國(guó)獨(dú)家呈現(xiàn)(獨(dú)家冠名贊助)的大會(huì)邀請(qǐng)到了來(lái)自歐洲和北美的DDD的領(lǐng)軍人物,以及國(guó)內(nèi)諸多在過(guò)去一年當(dāng)中努力實(shí)踐DDD的團(tuán)隊(duì)及代表與會(huì),和業(yè)界一起分享DDD理論的***發(fā)展動(dòng)態(tài)和實(shí)踐經(jīng)驗(yàn)總結(jié)。戴姆勒大中華區(qū)CIO 石峰(Stefan Eberhardt) 也從IT驅(qū)動(dòng)數(shù)字化變革的角度分享了在客戶(hù)需求日新月異的時(shí)代背景下,戴姆勒是如何通過(guò)自我改革實(shí)現(xiàn)“大象轉(zhuǎn)身”,并為消費(fèi)者提供杰出數(shù)字化產(chǎn)品及服務(wù)的。以及在這一過(guò)程中,關(guān)于架構(gòu)的實(shí)踐與改變。
談到DDD的發(fā)展趨勢(shì),王威表示,從量上來(lái)說(shuō),越來(lái)越多的企業(yè)在做互聯(lián)網(wǎng)轉(zhuǎn)型,DDD可以幫助企業(yè)更好地去落地自己的架構(gòu),還能適應(yīng)未來(lái)的業(yè)務(wù)變化。從深度來(lái)說(shuō),在世界范圍內(nèi),DDD本身一直在不斷發(fā)展、不斷演進(jìn)。“相信到一年以后,在DDD這個(gè)范疇里會(huì)出現(xiàn)很多新的概念來(lái)和大家交流。”王威表示。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】






























