中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

什么是領(lǐng)域驅(qū)動設(shè)計(Domain Driven Design)?

  本文是從 What is Domain Driven Design? 這篇文章翻譯而來。

  ”…在很多領(lǐng)域,專家的作用體現(xiàn)在他們的專業(yè)知識上而不是智力上。“

  -- Don Reinertsen

  領(lǐng)域驅(qū)動設(shè)計(Domain Driven Design)是一種軟件開發(fā)方法,目的是讓軟件系統(tǒng)在實現(xiàn)時準(zhǔn)確的基于對真實業(yè)務(wù)過程的建模并根據(jù)真實業(yè)務(wù)過程的調(diào)整而調(diào)整。

  傳統(tǒng)的開發(fā)工作趨向于一種以技術(shù)為先導(dǎo)的過程,需求從業(yè)務(wù)方傳遞到開發(fā)團隊,開發(fā)人員依據(jù)需求上的描述創(chuàng)造出最有可能的假想。

  在瀑布開發(fā)過程中,這導(dǎo)致了大量的需要頻繁校對、分析、復(fù)核和審批的需求文檔。之后這些文檔被交給開發(fā)團隊去變成能夠運行的軟件。

  敏捷開發(fā)方法同樣可以采納瀑布模式過程中產(chǎn)生的需求文檔,但敏捷方法在實際的處理過程中會把它們分成很小的任務(wù)和“故事”,之后的開發(fā)工作將依據(jù)這些任務(wù)的排序。

  領(lǐng)域驅(qū)動設(shè)計很大程度上使你從這兩種截然不同的結(jié)果中抽身出來,讓你能看到需求是如何在第一現(xiàn)場被收集到——如果你愿意看的話,它在動手先做的方式和在最后一分鐘才做的方式之間做了彌補。

  領(lǐng)域驅(qū)動設(shè)計方式知道需求是永遠(yuǎn)不會“完成”的,需求就像一個活的文檔。更重要的是,這些仍待討論的活文檔實際上就是軟件自身——所有的文檔都是程序代碼的一種影像,一種演示品。

  隨著軟件系統(tǒng)的開發(fā)和發(fā)展,你對各種問題的理解也會更深——領(lǐng)域驅(qū)動設(shè)計就是要通過深入的理解問題來找到問題的解決方案。

  然而,領(lǐng)域驅(qū)動設(shè)計真正的不同之處卻是,它把軟件系統(tǒng)當(dāng)作業(yè)務(wù)過程的一個影射,是使能動,而不是驅(qū)動。領(lǐng)域驅(qū)動設(shè)計是要你深入到業(yè)務(wù)過程中,了解業(yè)務(wù)術(shù)語和實踐方法。技術(shù)方面的事被放在了第二位,只是最終的一種手段而已。

  Ubiquitous語言(UL)是領(lǐng)域驅(qū)動設(shè)計的中心——這是一種共有的不斷成長的語言。它是一種來源于業(yè)務(wù)術(shù)語、經(jīng)過開發(fā)團隊的補充而產(chǎn)生的協(xié)商后的語言。如果一個業(yè)務(wù)人員不懂得UL里的一個術(shù)語,有可能是UL需要改進(jìn)發(fā)展。如果一個技術(shù)人員不懂得UL里的一個術(shù)語,有可能是他們需要跟領(lǐng)域?qū)<疫M(jìn)行交流。

  領(lǐng)域?qū)<沂穷I(lǐng)域驅(qū)動設(shè)計里第二重要的組成部分——這些人能夠?qū)@個領(lǐng)域有深入的了解,包括這個業(yè)務(wù)本身。這些人構(gòu)成了開發(fā)過程中必要的組成部分。他們也許像一些敏捷開發(fā)方法里傳統(tǒng)的產(chǎn)品擁有者那樣不需要“全天候”的在職,但他們必須在開發(fā)過程中能被持續(xù)的接觸到,而且隨時準(zhǔn)備好參與到開發(fā)過程中。領(lǐng)域?qū)<也荒鼙划?dāng)作門外人,而應(yīng)被當(dāng)作領(lǐng)域驅(qū)動設(shè)計過程中的核心——他們非常像是開發(fā)團隊中的一部分,就像普通的開發(fā)者和測試者一樣。

  領(lǐng)域驅(qū)動設(shè)計沒有開始和結(jié)束——它是一個不斷的再評估,再重構(gòu),再建模,再設(shè)計的持續(xù)過程——每一次的對話都會使你對問題有更進(jìn)一步的理解。領(lǐng)域驅(qū)動設(shè)計沒有“完成”點——它永遠(yuǎn)都在進(jìn)行;Ubiquitous語言會不斷發(fā)展和成長,領(lǐng)域模型隨著對業(yè)務(wù)理解的改變而改變,代碼不斷的再組織和重構(gòu)來更好的表現(xiàn)你的理解。

  各種模擬產(chǎn)物產(chǎn)生又拋棄,而唯一真正有意義的只有代碼。它是解決方案的唯一表達(dá),是一種不再抽象的表達(dá)。文檔是用來解釋和描述系統(tǒng)的,而只有代碼能不失分毫的做到這些。這就是說,在領(lǐng)域驅(qū)動設(shè)計里,代碼必須保持高質(zhì)量,要清晰,要有表達(dá)力,沒有技術(shù)上省略和專門用語,盡可能的要讓代碼能夠在被解釋時對領(lǐng)域?qū)<矣行┮饬x。

  領(lǐng)域驅(qū)動設(shè)計里沒有精巧的代碼,也沒有奇特的處理過程,或“你不需要知道”的模塊。領(lǐng)域?qū)<也恍枰蔀殚_發(fā)人員來理解軟件系統(tǒng)里用來做這些工作的關(guān)鍵部分是什么。他們同樣也不需要考慮數(shù)據(jù)庫或批處理任務(wù)或其他技術(shù)相關(guān)的方面。

  領(lǐng)域驅(qū)動設(shè)計是敏捷方法的終極表達(dá)——它是用來處理不斷變化和發(fā)展的需求的——正如任何一個從未涉足軟件項目的人都知道——一個項目的需求從開始到結(jié)束保持一成不變是極其罕見的,絕大多數(shù)情況是它會隨著業(yè)務(wù)的增長和變化而變化。

  通過不斷的交流,領(lǐng)域驅(qū)動設(shè)計會指導(dǎo)你用軟件最精確的表達(dá)你的業(yè)務(wù)過程。

it知識庫什么是領(lǐng)域驅(qū)動設(shè)計(Domain Driven Design)?,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美白人做受xxxx视频 | 亚洲精品国产电影 | 国产亚洲一区二区三区在线 | 99精品久久久久久中文字幕 | 日韩在线观看一区二区三区 | 国产高潮好爽受不了了夜夜做 | 国产精品一区一区 | 国产a区 | 久久日韩精品一区二区三区 | 国产精品视频免费观看 | 一区二区高清在线观看 | 黄视频免费 | 久久久久久高潮国产精品视 | 国产综合av | 老司机久久 | 91亚洲国产亚洲国产 | 欧美男人天堂 | 日韩在线中文字幕 | cao视频 | 99re热精品视频 | 成人久久久 | 欧美日日 | 夜夜爆操 | 国产乱码久久久久久 | 久久一二区 | 亚洲视频中文字幕 | 久久精品国产一区二区三区 | 青青久草| 四虎国产| 91大神在线看 | 毛片一区二区三区 | 国产成人免费视频网站高清观看视频 | 精品二区 | 中文字幕av网站 | 欧美日韩国产精品一区 | 国产免费av网 | 精品中文字幕视频 | 亚洲三级国产 | 国产精品中文在线 | 国产伦精品一区二区三区四区视频 | 国产一区精品在线 |