點這裡進入ABP開發手記目錄 創建項目 點這裡進入ABP啟動模板 如圖操作,我們先生成一個基於.NET Core的MPA(多頁面應用).點擊"Create my project!"即可創建項目. 解讀項目 展示層 (JD.CRS.Web.Mvc) 提供一個用戶界面,實現用戶交互操作。 ASP.NET ...
創建項目
如圖操作,我們先生成一個基於.NET Core的MPA(多頁面應用).點擊"Create my project!"即可創建項目.
解讀項目
展示層 (JD.CRS.Web.Mvc)
提供一個用戶界面,實現用戶交互操作。
ASP.NET Core MVC(模型-視圖-控制器)可以視為展示層。它可以是物理層(通過HTTP API使用應用程式)或邏輯層(直接註入和使用應用程式服務)。無論哪種情況,它都可以包括 本地化,導航,對象映射, 緩存,配置管理,審計日誌等。它還處理 授權,會話, 功能(用於 多租戶應用程式)和異常處理。
分散式服務層(JD.CRS.Web.Host)
用於公開應用程式介面供遠程客戶端調用。比如通過ASP.NET Web API和WCF來實現。
該層用於通過REST,OData,GraphQL等遠程API來提供應用程式/域功能...它們不包含業務邏輯,而僅將HTTP請求轉換為域交互,或者可以使用應用程式服務來委托操作。該層通常包括授權,緩存, 審核日誌記錄,對象映射,異常處理,會話等。
應用層 (JD.CRS.Application)
進行展現層與領域層之間的協調,協調業務對象來執行特定的應用程式的任務。它不包含業務邏輯。
應用層主要包括應用服務的使用領域層和領域對象(領域服務, 實體 ...)來執行請求的應用程式的功能。它使用數據傳輸對象從表示層或分散式服務層獲取數據並將數據返回到表示層或分散式服務層。它還可以處理 授權,緩存,審核日誌記錄,對象映射,會話等。
領域層 (JD.CRS.Core)
包括業務對象和業務規則,這是應用程式的核心層。
這是實現我們的領域邏輯的主要層。它包括 實體,值對象和領域服務以執行業務/領域邏輯。它還可以包括規範和觸發領域事件。它定義了存儲庫介面以從數據源(通常是DBMS)讀取和保留實體。
基礎設施層 (JD.CRS.EntityFrameworkCore)
提供通用技術來支持更高的層。例如基礎設施層的倉儲(Repository)可通過ORM來實現資料庫交互。
基礎設施層使其他層起作用:它實現存儲庫介面(例如,使用Entity Framework Core)以實際使用實際資料庫。它還可能包括與供應商的集成,以發送電子郵件等。這不是所有層下的嚴格層,但實際上通過實現抽象層來支持其他層。
補充說明
JD.CRS.Migrator 提供資料庫遷移操作。
JD.CRS.Web.Core 封裝Web層核心功能。