很多同學(xué)看DDD介紹的書(shū)籍忍些,采用死記硬背的方式去實(shí)踐,碰到與書(shū)籍中抽象或文字上很難理解的地方時(shí)難免迷茫。
為什么要采用DDD两曼?DDD和敏杰開(kāi)發(fā)的關(guān)系是什么?DDD能給我們帶來(lái)什么好處玻驻?DDD建ER圖或模型時(shí)和發(fā)過(guò)去是一樣的悼凑,為什么說(shuō)DDD更好呢?
現(xiàn)在是過(guò)去的將來(lái)璧瞬,不了解歷史户辫,就很難理解當(dāng)前的設(shè)計(jì)思想!
傳統(tǒng)的軟件開(kāi)發(fā)模式包含下面幾個(gè)步驟:
1嗤锉、 需求分析人員與業(yè)務(wù)溝通渔欢,
2、 需求分析人員寫(xiě)成產(chǎn)品說(shuō)明書(shū)
3瘟忱、 架構(gòu)師根據(jù)產(chǎn)品說(shuō)明書(shū)進(jìn)行架構(gòu)設(shè)計(jì)奥额,包括分層設(shè)計(jì)苫幢、邊界設(shè)定、模塊關(guān)系垫挨、數(shù)據(jù)庫(kù)定義
4态坦、 模塊owner根據(jù)架構(gòu)師拆分的模塊進(jìn)行模塊內(nèi)的詳細(xì)設(shè)計(jì)。
5棒拂、 開(kāi)發(fā)人員根據(jù)模塊owner的拆分的最小開(kāi)發(fā)單元進(jìn)行開(kāi)發(fā)
6伞梯、QA根據(jù)架構(gòu)師和需求說(shuō)明書(shū)進(jìn)行黑盒驗(yàn)證。
從實(shí)現(xiàn)難度來(lái)說(shuō)帚屉,需求分析人員需要和業(yè)務(wù)部門(mén)的所有人員進(jìn)行溝通谜诫,了解他們的業(yè)務(wù)模式和訴求,對(duì)需求人員的要求就非常高攻旦,如果產(chǎn)品說(shuō)明誰(shuí)失真程度較高或很水喻旷,后面架構(gòu)師、模塊owner牢屋、開(kāi)發(fā)人員且预、QA的開(kāi)發(fā)工作就可能是白白浪費(fèi)了。
同樣對(duì)架構(gòu)師的要求也非常高烙无,他會(huì)影響后面的owner锋谐、開(kāi)發(fā)人員、qa等同學(xué)的工作效果截酷。
DDD的軟件開(kāi)發(fā)模式:
1涮拗、 多名業(yè)務(wù)領(lǐng)域?qū)<叶x領(lǐng)域內(nèi)的限界上下文、模型迂苛、事件三热。
2、 架構(gòu)師負(fù)責(zé)領(lǐng)域劃分三幻、邊界等是否合理的確認(rèn)就漾。
3、 各模塊owner和開(kāi)發(fā)人員直接與業(yè)務(wù)領(lǐng)域?qū)<覝贤ㄉ舷挛哪畎帷⒛P鸵直ぁ⑹录⒕酆系取?br>
這樣的話(huà)锁蠕,信息傳遞的節(jié)點(diǎn)變少了夷野,失真的可能性降低了。開(kāi)發(fā)出來(lái)的軟件和業(yè)務(wù)的契合度更高荣倾。
所以悯搔,DDD是從管理、組織結(jié)構(gòu)、開(kāi)發(fā)形態(tài)妒貌、溝通效率通危、人員職責(zé)上做了整體的優(yōu)化,就像20世紀(jì)福特騎車(chē)從手工造車(chē)進(jìn)行流水線(xiàn)造車(chē)一樣灌曙,DDD也是設(shè)計(jì)了一套全新的軟件開(kāi)發(fā)流水線(xiàn)菊碟,重新定義流水線(xiàn)工位、角色在刺、上下文逆害、組裝.