一、簡要介紹#
ABP vNext 是 ABP 框架作者所發起的新項目,截止目前 (2019 年 8 月 20 日) 已經擁有 1400 多個 Star,最新版本號為 v 0.19.0
,可以嘗試用於生產環境。新的 ABP vNext 框架完全是基於 ASP .NET Core 進行開發,其完全模塊化的組件庫能夠讓開發人員擁有更多的選擇空間。
ABP vNext 框架核心庫比 ABP 框架更加精簡,因為將原有許多的組件從其核心庫抽離成獨立的組件。這樣開發人員可以更加靈活的選擇自己需要的功能進行集成,使項目遠離臃腫的庫。
當然新的框架也是基於多租戶體系,不同租戶的數據相互隔離,在開發人員進行編碼的時候完全感受不到多租戶的存在。
比起原有的 ABP 框架,我在這里總結了 ABP vNext 比 ABP 框架所提升的點。
- 完全基於 ASP .NET Core,丟掉了歷史包袱,設計更加合理。
- ABP vNext 主要聚焦於微服務架構,便於開發人員構建自己的微服務系統。
- 更加細粒度的模塊化設計,為現有應用 ABP 框架的項目減負,開發人員能夠自主選擇自己需要的組件。
- ABP vNext 提供了虛擬文件系統,方便資源文件在不同的項目中重用。
- 支持替換 DI 框架,可以自己選擇需要使用的 DI 框架。(ABP vNext 使用的是 Autofac)
二、系列文章#
因為 ABP vNext 還處於預覽版 (Preview) 狀態,后續 ABP vNext 框架可能會有重大改動。故本系列文章主要用於學習與研究其設計思路,不適合用於 ABP vNext 的教學資料/使用文檔。
- 《[Abp vNext 源碼分析] - 1. 框架啟動流程分析》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 2. 模塊系統的變化》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 3. 依賴注入與攔截器》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 4. 工作單元》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 5. DDD 的領域層支持(倉儲、實體、值對象)》 [點擊我跳轉]
- 《[Abp vNext 源碼分析] - 6. DDD 的應用層支持(應用服務)》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 7. 權限與驗證》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 8. 審計日志》[點擊我跳轉]
- 《[Abp vNext 源碼分析] - 9. 接口參數的驗證》
- 《[Abp vNext 源碼分析] - 10. 框架的模塊配置系統》
- 《[Abp vNext 源碼分析] - 11. 用戶的自定義參數與配置》
- 《[Abp vNext 源碼分析] - 12. 后台作業與后台工作者》
- 《[Abp vNext 源碼分析] - 13. 本地事件總線與分布式事件總線(Rabbit MQ)》
- 《[Abp vNext 源碼分析] - 14. EntityFramework Core 的集成》
- 《[Abp vNext 源碼分析] - 15. ASP.NET Core Mvc 集成》
- 《[Abp vNext 源碼分析] - 16. 對象自動映射功能 與 AutoMapper》
- 《[Abp vNext 源碼分析] - 17. 流暢驗證)》
- 《[Abp vNext 源碼分析] - 18. 單元測試)》
- 《[Abp vNext 源碼分析] - 19. 多租戶)》
- 《[Abp vNext 源碼分析] - 20. 電子郵件與短信支持)》
- 《[Abp vNext 源碼分析] - 21. 界面與文字的本地化)》
- 《[Abp vNext 源碼分析] - 22. 微服務的支持與實踐)》
三、結語#
.NET Core 平台在 2018 年已經相繼發布了多個穩定版本,其中 2.0 以后的 .NET Core 其實已經可以用於生產環境進行使用。基於 .NET Core 平台的項目也猶如雨后春筍般拔地而起,其中最具代表性的項目如 Ocelot、DotNetCAP、AspectCore-Framework、surging、DotnetSpider、ABP vNext、Avalonia。
我也相信今后的 .NET Core 生態也會越來越繁榮,在這里我也會通過解析優秀 .NET Core 項目的源碼實現讓大家了解這些優秀項目的設計是如何實現的,有哪些地方值得我們去學習借鑒。
當然,我也希望大家不僅僅是要追求新的技術,打實基礎才是后續發展的根本。在這里,我借用侯捷老師的一句話來說 “萬丈高樓平地起,勿在浮沙築高台” - 《深入淺出 MFC》 (侯捷)。