ABP入門教程3 - 解決方案


點這里進入ABP入門教程目錄

 

創建項目

點這里進入ABP啟動模板 

如圖操作,我們先生成一個基於.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層核心功能。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM