一、Abp vNext 基礎篇丨介紹


緣起

在.Net行也目前工作5年,前年認識了老張的哲學,也跟着一起學習了非常多的知識,非常感謝老張鼓勵我來做ABP這個系列的教程,我也努努力帶着我那小小的海漂夢(上海漂流)來搞起。

ABP vNext 簡要介紹

ABP vNext 框架是一個基於ASP.NET核心的完整基礎設施,通過遵循軟件開發最佳實踐和最新技術來創建現代web應用程序和API,不同於老的ABP框架新的 ABP vNext 框架核心庫更加精簡,因為將原有許多的組件從其核心庫抽離成獨立的組件。這樣開發人員可以更加靈活的選擇自己需要的功能進行集成,使項目遠離臃腫的庫,比起原有的 ABP 框架 ABP vNext 完全基於 ASP.NET Core 丟掉了歷史包袱,設計更加合理,更加細粒度的模塊化設計。

Abp vNext 官方文檔提供了非常全面的功能介紹,官方提供了啟動模板,模板遵循了領域驅動設計的最佳實踐來進行項目分層,引入了常用的功能模塊。

如果你有不錯的.Net基礎那么Abp你用起來會的心用手,使用過程中遇到的問題幾乎可以在官方文檔和Issues中找到並解決。

但如果你是一個 .Net 新手你不知道什么是依賴注入、模塊化、DDD 推薦先去 https://www.cnblogs.com/laozhang-is-phi/p/9495618.html#autoid-1-0-0學習一下。

后續文章中出現的ABP都是指ABP vNext。

開篇簡介

Bcvp.Blog.Core是基於老張的哲學Blog.Core項目采用ABP vNext框架和DDD思想進行重構的項目,教程面向.Net Core初中級開發人員,從基礎項目搭建開始一步步學習使用ABP vNext框架並在開發中融入DDD思想。

整篇文章目前會分為3個階段分別是。

  • 基礎篇(學習ABP vNext框架和DDD)。
  • 中級篇(學習模塊化和部分源代碼)。
  • 高級篇(ABP vNext微服務)。

組織地址:
https://github.com/BaseCoreVueProject

作者博客:
https://www.cnblogs.com/MrChuJiu/

框架功能

整體教程會設計的功能介紹如下,下圖為ABP官方商業版,我們只抽取部分功能進行實現。

前端框架目前采用Bcvp組織的:https://github.com/BaseCoreVueProject/angular-template 作為前端教程框架,暫時不推薦將該框架應用生產(不是技術問題),ABP官方的目前正在推行LeptonX應該會有新的進展

Abp官方商業版圖

ABP 自帶功能

  • Saas管理
  • 組織管理
  • 角色管理
  • 審計日志
  • 系統設置

業務功能

  • 博客管理
  • 文章管理

前端站點

  • 發布文章
  • 用戶登錄/注冊
  • 文章評論

項目分層依賴關系

項目依賴關系

Domain.Shared 其他項⽬直接或間接引⽤,項⽬中定義的類型在所有項⽬中共享。

Domain 只引⽤ Domain.Shared ,⽐如:在 Domain.Shared 中定義的 IssuType 枚舉類型需要 在 Domain 項⽬中 Issue 實體中⽤到。

Application.Contracts 依賴 Domain.Shared ,這樣我們可以在 DTOs 中使⽤這些共享類型。 ⽐如: CreateIssueDto 中可以直接使⽤ IssueType 枚舉。

Application 依賴 Application.Contracts ,因為 Application 實現 Application.Contracts 中定義的服務接⼝和使⽤ DTO 對象。同時,引⽤ Domain 項⽬,在應 ⽤服務中使⽤倉儲接⼝或領域對象。

EntiryFrameworkCore 依賴 Domain ,映射 Domain 對象(實體和值類型)到數據庫表 (ORM)並實現在 Domain 中定義的倉儲接⼝。

HttpApi 依賴 Application.Contract ,在控制器在內部對 應⽤服務接⼝ 進⾏依賴注⼊。

HttpApi.Client 依賴 Application.Contract 消費應⽤服務 Web 依賴 HttpApi ,發布⾥⾯定義的 HTTP APIs 。另外,通過這種⽅式,它間接地依賴於 Application.Contracts 項⽬,可以在⻚⾯/組件中使⽤應⽤服務

結語

本節只是作為一個開篇講解希望各位持續關注

聯系作者:加群:867095512 @MrChuJiu

公眾號


免責聲明!

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



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