ABP框架入門


說明:目前學習整理的ABP是ABP vNext版

參考:

ABP官網

ABP官網中文文檔 :有部分還沒翻譯完整,可以改為英文,然后用谷歌瀏覽器翻譯查看

[Abp vNext 源碼分析] - 文章目錄----myzony

[Abp vNext微服務實踐] - 文章目錄----一曲肝腸斷錄

ABP源碼  --源碼在根目錄的framework文件夾內

由張善友發起的abp國內小組【EasyAbp】: 官網地址  、 指導文檔  、  github源碼  

五分鍾完成 ABP vNext 通訊錄 App 開發 --張善友

ABP學習教程--xhznl (dotnet跨平台公賬號推薦)

Abp Vnext2.0核心組件源碼解析與簡單應用

舊版ABP:官網官網英文文檔中文文檔、 基於DDD的現代ASP.NET開發框架--ABP系列文章總目錄

基礎細節

實體類 & 聚合根

參考:

實體&聚合根

實體設計最佳實踐指南.

可繼承Entity類或繼承AggregateRoot聚合根類

Entity類 或 IEntity接口:

  • Entity<TKey>類只是用給定的主 鍵類型 定義了一個Id屬性,在上面的示例中是Guid類型.可以是其他類型如string, int, long或其他你需要的類型

AggregateRoot 聚合根類:

  • 繼承 Entity<TKey>類
  • 聚合是域驅動設計中的一種模式.DDD的聚合是一組可以作為一個單元處理的域對象.例如,訂單及訂單系列的商品,這些是獨立的對象,但將訂單(連同訂單系列的商品)視為一個聚合通常是很有用的

模塊化

參考:模塊化

模塊類Module與啟動類Startup

  • 啟動類Starup不再處理注入和配置,都放在Module類中來處理。在ConfigureServices方法內指定模塊類Module
  • 每個服務都有一個模塊類Module,繼承AbpModule,在模塊類的頂部使用DependsOn(typeof())來定義依賴關系

依賴注入

參考:

依賴注入

ABP vNext 自動注入,暗藏天坑如斯

是自動注入的,如果想手動注入需要另外設置

依賴注入約定:在接口與實現類名稱中,去掉接口前面的“I”,剩下的名稱與實現類后綴名相同就會自動注入,例如:接口ICalculator 和 ITaxCalculator 會注入到TaxCalculator實現類,會把兩個接口注入到一個實現類中,其實就是分別注入2次,一個類可以繼承多個接口。

數據傳輸對象 DTO

參考:數據傳輸對象(DTO)

數據傳輸對象(DTO)用於在應用層和表示層或其他類型的客戶端之間傳輸數據.

通常用DTO作為參數在表示層(可選)調用應用服務. 它使用領域對象執行某些特定的業務邏輯,並(可選)將DTO返回到表示層.因此表示層與領域層完全隔離.

領域驅動設計

 

動態C# API客戶端

ABP可以動態創建C#API客戶端代理來調用您的遠程HTTP服務(REST API)。這樣,您無需處理HttpClient其他低級詳細信息即可調用遠程服務並獲得結果。

動態C#代理會自動為您處理以下內容;

  • 通過考慮HTTP方法,路由,查詢字符串參數,請求有效負載和其他詳細信息,將C#方法調用映射到遠程服務器HTTP調用
  • 通過將訪問令牌添加到HTTP標頭來認證HTTP客戶端。
  • 從JSON序列化和反序列化
  • 處理HTTP API版本控制
  • 相關性ID,當前租戶ID和當前區域性添加到請求中。
  • 正確處理服務器發送的錯誤消息並引發適當的異常。

任何類型的.NET客戶端都可以使用此系統來使用您的HTTP API。

 


免責聲明!

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



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