點這里進入ABP入門教程目錄
介紹
應用程式代碼庫的分層是一種廣泛接受的技術,可幫助降低復雜性并提高代碼可重用性,為了實作分層體系結構,ASP.NET Boilerplate遵循域驅動設計的原理,
DDD分層體系架構
領域驅動設計(DDD:Domain-Driven Design)有四個基本層:
- 展示層:為用戶提供界面,使用應用程式層來實作用戶互動,
- 應用層:在表示層和域層之間進行中介,編排業務物件以執行特定的應用程式任務,
- 領域層:包括業務物件及其規則,這是應用程式的核心,
- 基礎設施層:提供通用技術功能,這些功能主要使用第三方庫來支持更高的層,
ABP分層體系架構
除了DDD外,現代架構應用程式中還包含其他邏輯和物理層,建議并為ABP應用程式實作以下模型,ABP不僅通過提供基類和服務使實作此模型更加容易,而且還提供了直接從該模型開始的啟動模板,

客戶應用
這些是遠程客戶端,它們通過HTTP API(API控制器,OData控制器,甚至是GraphQL端點)將應用程式用作服務,遠程客戶端可以是SPA(單頁面應用程式),移動應用程式或第三方用戶,本地化和 導航可以在此應用程式內完成,
展示層
ASP.NET Core MVC(模型-視圖-控制器)可以視為展示層,它可以是物理層(通過HTTP API使用應用程式)或邏輯層(直接注入和使用應用程式服務),無論哪種情況,它都可以包括 本地化,導航,物件映射, 快取,配置管理,審計日志等,它還處理 授權,會話, 功能(用于 多租戶應用程式)和例外處理,
分布式服務層
該層用于通過REST,OData,GraphQL等遠程API來提供應用程式/域功能...它們不包含業務邏輯,而僅將HTTP請求轉換為域互動,或者可以使用應用程式服務來委托操作,該層通常包括授權,快取, 審核日志記錄,物件映射,例外處理,會話等,
應用層
應用層主要包括應用服務的使用領域層和領域物件(領域服務, 物體 ...)來執行請求的應用程式的功能,它使用資料傳輸物件從表示層或分布式服務層獲取資料并將資料回傳到表示層或分布式服務層,它還可以處理 授權,快取,審核日志記錄,物件映射,會話等,
領域層
這是實作我們的領域邏輯的主要層,它包括 物體,值物件和領域服務以執行業務/領域邏輯,它還可以包括規范和觸發領域事件,它定義了存盤庫介面以從資料源(通常是DBMS)讀取和保留物體,
基礎設施層
基礎設施層使其他層起作用:它實作存盤庫介面(例如,使用Entity Framework Core)以實際使用實際資料庫,它還可能包括與供應商的集成,以發送電子郵件等,這不是所有層下的嚴格層,但實際上通過實作抽象層來支持其他層,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/112696.html
標籤:.NET Core
上一篇:asp.netcore 3.0 Docker Nginx(震驚,原來docker是這樣的!)
下一篇:ABP入門教程4 - 初始化運行
