郵箱:www.jungshuodz@163.com
手機:18268652722
電話:18268652722
地址:寧波市北侖區大碶廟前山路45號
人氣:
對于從未接觸過DDD的同學,建議先閱讀這篇文章。如果你聽說過DDD,也可以通過下面這篇文章回顧一下DDD 的基本概念:愛牛油果的露露:算法架構師我們來聊聊領域驅動設計(DDD)。進入今天的主題:簡單來說一下DDD。域驅動設計(簡稱DDD)。以業務領域為核心:以業務邏輯為整個系統的核心,并圍繞其進行設計和開發。
微服務提倡領域驅動設計:微服務架構提倡將系統分解為小型的、自治的服務。每個服務都應該有明確的邊界和職責。這就需要服務使用領域語言進行通信,這可以促進領域的發展。驅動設計的實踐。 DDD 專注于領域模型的設計。它試圖將業務需求轉化為一組概念、規則和關系。這些概念、規則和關系構成了實現業務邏輯的領域模型。領域服務:領域模型中無法表達的業務邏輯可以通過領域服務來實現。
至此,領域已經確定。現在可以根據領域來劃分任務。小組成員負責一個或多個領域的詳細設計。這個階段就是大家都非常熟悉的用例圖、活動圖、序列圖、數據庫設計、界面設計。使用。將每個問題進行分解,就是當問題被劃分為小領域時,由于小領域的業務具有凝聚力,其子領域關聯性強,所以我們可以在技術維度上進行詳細設計,按照業務范圍來劃分項目。管理維度領域。
DDD指領域驅動設計,是一種主要致力于解決復雜業務領域的建模和實現問題的軟件設計方法論。領域對象在包含值對象的同時,也保留了值對象的業務含義,而數據對象則可以使用更寬松的結構來保存值對象,簡化數據庫設計。自20世紀80年代以來,他作為設計師和程序員參與了許多大型面向對象系統的設計和開發,涉及各種復雜的業務和技術領域。
具體說明請參見圖中注釋。一般來說,領域層通過實現和接口的分離,盡可能做到獨立,不耦合到任何模塊。它包含領域模型的業務邏輯代碼,但不依賴于具體的技術實現。基礎設施層可以輕松替換并提供給第三方網絡呼叫服務。微服務可以支持DDD中的有界上下文:在領域驅動設計中,有界上下文是一個非常重要的概念,可以幫助開發人員更好地理解業務領域。
需要指出的是,DDD不能代替詳細設計,DDD是為了更清晰的詳細設計。為了讓業務服務更加聚焦領域能力,基于領域能力設計對外接口,同時滿足前端顯示等多樣化的接口消費場景,往往需要在架構中引入BFF層。一個域可以劃分為多個子域,一個子域又可以劃分為多個子子域。有界上下文本質上是一種子子域。那么在分解業務時,業務模塊是域、子域還是子子域呢?
相關推薦