DDD中的分層架構

2022-02-19 11:56:53 字數 877 閱讀 3146

ddd中的分層架構很好的應用了關注點分離原則separation of concerns(soc),每一層做好自己的事情,減少交叉

表現層提供用來完成任務的使用者介面,如webform wpf asp.net mvc 以及winform等,

一般而言,我們把表現層顯示的任何資料稱為檢視模型,把任何從螢幕離開觸發乙個後台操作的資料稱為輸入模型,大多數時候這兩個模型是相同的。

就分層應用程式而言,mvc,mvp,mvvm都是表現層的模式,

應用程式層是乙個附加層,介於領域層和ui之間,是你編排用例實現的地方,其中包含的方法幾乎一一對應於表現層的用例,

一般情況下,應用程式層和表現層一一對應,因為不同的表現層可能會有不同的用例,

應用程式層引用領域層和基礎設施層,對業務邏輯一無所知,不包含任何與業務相關的狀態資訊,

應用程式層有時候需要呼叫外部服務,比如wcf或者webapi,又或者是第三方的服務,這種情況一般是把對外部服務的呼叫封裝成介面卡,放在基礎設定層,

這樣就把對外部服務的呼叫轉化成了對基礎設施層的呼叫。

領域層包含了幾乎所有的業務邏輯,由一組領域模型和一組服務構成,

領域模型:

包含資料和行為,與之相對的乙個是貧血模型,什麼是貧血模型,如果只是類缺少方法,物件模型並不算是貧血,如果實體的邏輯

放在了實體類的外面,那才是真的貧血,畢竟如果把邏輯放到了實體類的外面,他實際上是違反了說,別問原則

領域服務:

它包含了一些邏輯上有關係並且操作多個實體的行為,

基礎設施層是與具體技術有關的東西,比如ef,安全,日誌,ioc,跟蹤,快取等,

DDD 領域驅動設計 學習筆記 分層架構

編寫處理非常複雜任務的軟體需要分離關注點,這樣允許隔離地設計軟體的不同部分。同時,不管是否分離,都要維護好系統中複雜的互動。分層的基本原則是 某一層中的所有元素都只能依賴於同一層中的其它元素或者依賴於其直接的下層元素。向上的資訊傳遞必須經過一些間接機制。分層的意義在於每層都只負責電腦程式中的某乙個特...

應用程式框架實戰十三 DDD分層架構之我見

前面介紹了應用程式框架的乙個重要組成部分 公共操作類,並提供了乙個資料型別轉換公共操作類作為示例進行演示。下面準備介紹應用程式框架的另乙個重要組成部分,即體系架構支援。你不一定要使用ddd這樣的架構,使用單層架構和普通三層架構一樣可以,不過你如果希望獲得更進一步的復用性和封裝度,使用更加物件導向的技...

應用程式框架實戰十三 DDD分層架構之我見

前面介紹了應用程式框架的乙個重要組成部分 公共操作類,並提供了乙個資料型別轉換公共操作類作為示例進行演示。下面準備介紹應用程式框架的另乙個重要組成部分,即體系架構支援。你不一定要使用ddd這樣的架構,使用單層架構和普通三層架構一樣可以,不過你如果希望獲得更進一步的復用性和封裝度,使用更加物件導向的技...