領域驅動設計資料收集與簡單實現(一):什麼是領域驅動設計,通用語言

<h3>什麼是領域驅動設計</h3>html

<span style="font-size:18px;">領域驅動設計(DDD)</span>:DDD的全稱爲Domain-driven Design,是一套綜合軟件系統分析和設計的面向對象建模方法,是針對複雜系統設計的一套軟件工程方法,是一種思想。 <span style="font-size:18px;">什麼是領域:領域是問題域 + 業務指望</span> 一:問題域:領域中有許多的問題域,領域是有邊界的,要注重核心要解決的問題,問題域建模的過程就是業務領域分析的過程 二:業務指望:肯定業務的指望與願景,業務的範圍,識別出業務需求的價值,識別出最核心的業務 <span style="font-size:18px;">什麼是驅動:</span> 一:領域驅動領域模型設計,需求分析 =>領域模型 ,領域模型驅動代碼實現,領域模型 =>代碼實現 ,分析領域中的核心問題(核心關注點),而後設計對應的領域模型,再經過領域模型驅動代碼實現。 <span style="font-size:18px;">什麼是設計:</span> 一:DDD中的設計主要指領域模型的設計,DDD是一種基於模型驅動開發的軟件開發思想,強調領域模型是整個系統的核心,領域模型也是整個系統的核心價值所在架構

<h3>爲何要使用領域驅動設計</h3>學習

一:不一樣於傳統以數據表爲中心的建模方式,它以業務領域爲中心來建模,迭代過程當中,不斷重構完善設計,更好的面對業務的挑戰與變化 二:領域驅動設計是一套完整而系統的設計方法,它能帶給你從戰略設計到戰術設計的規範過程,使得你的設計思路可以更加清晰,設計過程更加規範 三:是一種基於模型驅動的軟件設計方式。它以領域爲核心,分析領域中的問題,經過創建一個領域模型來有效的解決領域中的核心的複雜問題,模型反映業務,識別業務的邊界,價值,控制業務的複雜度,業務越複雜的場景使用DDD,價值越大 四:對提升軟件的可維護性,業務可理解性以及可重用性方面都有很好的幫助,能夠提升團隊成員的面向對象設計能力與架構設計能力,提升溝通協做能力 五:領域模型貫穿軟件分析、設計,以及開發的整個過程;領域專家、設計人員、開發人員經過領域模型進行交流,彼此共享知識與信息,防止需求走樣 六:領域模型是整個軟件的核心,是軟件中最有價值和最具競爭力的部分,設計足夠精良且符合業務需求的領域模型可以更快速的響應需求變化 七:一種開發思想的轉變,讓開發人員不止關注技術領域,還要關注業務領域,團隊協做溝通spa

<h3>通用語言</h3>.net

在開發的過程當中領域專家、設計人員、開發人員須要一塊兒交流溝通,來了解業務分析需求,創建領域模型,因爲咱們每一個人掌握的領域知識不同,思考的方式不同,每一個人都有本身的見解,不創建通用的語言,很難溝通,達成共識,會形成像盲人摸象同樣,加大溝通的成本,業務也會有誤差,創建通用語言,基於通用語言交流溝通,讓團隊人員達成共識,提高溝通的效率 架構設計

一:發現領域內的概念,術語,造成術語表,給出英文術語,專有概念(專門爲軟件開發而提煉出的概念)基於統一語言進行交流,溝通 二:領域驅動設計的一個核心的原則是使用一種基於模型的語言,通用語言反應業務的概念與行爲 三:基於統一語言溝通交流,必須保證術語概念的一致性,及時更新維護,達成共識,減小溝通的成本 四:領域行爲是對業務過程的描述,基於領域術語描述業務場景用例,它體現了更加完整的業務需求以及複雜的業務規則 五:在同一個限界上下文中必須保證統一語言的惟一性 六:得到統一語言就是需求分析的過程,也是團隊中各個角色就係統目標、範圍與具體功能達成一致的過程 七:實現代碼時,項目的類名,方法名,倉儲,界限上下文,接口等,都應該使用通用語言的英文術語來命名設計

<h3>資料的來源</h3>視頻

想要從頭開始學習DDD,DDD中有許多難懂的概念,只看博客,視頻,很難理解,至少我以爲有難度,在實際開發中去理解,這樣會事半功倍,收集資料,先了解DDD的基礎知識,慢慢的學會本身思考,我但願本身能堅持下去。 感謝前輩們的付出,才讓咱們學習起來更容易一點,謝謝! 湯總netfocus的DDD系列的博客,很是的全面透徹,學習DDD必讀: https://www.cnblogs.com/netfocus/category/361987.html dax.net:https://sunnycoding.cn/ 張逸老師:GitChat 領域驅動設計實戰書籍 解道JDON:https://www.jdon.com/ddd.html 田園的蟋蟀:https://www.cnblogs.com/xishuai/category/572887.htmlhtm

原文出處:https://www.cnblogs.com/lifeng618/p/10809484.html對象

相關文章
相關標籤/搜索