ABP框架
ABP是用於建立現代化Web應用程式的完整體系結構和強大的基礎架構,以模組化的方式進行開發,所有模組以nuget包的方式提供,開箱即用,遵循最佳實踐和約定,提供SOLID開發經驗。
縮寫 | 英文 | 中文 |
---|---|---|
SRP | The Single Responsibility Principle | 單一職責元素 |
OCP | The Open Closed Principle | 開放封閉原則 |
LSP | The Liskov Substituution Principle | 里氏替換原則 |
ISP | The Interface Segregation Principle | 介面替換原則 |
DIP | The Dependency Inversion Principle | 依賴倒置原則 |
目前版本
ASP.NET Boilerplate
ASP.NET Boilerplate(ABP)是一個開放原始碼且有據可查的應用框架。它不僅是一個框架,而且提供了一個基於領域驅動設計的強大的體系結構模型,同時考慮了所有最佳實踐。
此版本基於.net framework平臺開放,支援Asp.Net MVC 5.x和EF6.x,也可以和Asp.Net Core和EF Core一起使用,但依賴性比較臃腫。
開源版:https://aspnetboilerplate.com
企業版: https://aspnetzero.com
原始碼: https://github.com/aspnetboilerplate
中文文件: https://github.com/ABPFrameWorkGroup/AbpDocument2Chinese
ABP Framework
ABP Framework,也稱 ABP vNext,是一個開源應用程式框架,專注於基於Asp.Net Core的Web應用程式開放。它還支援開放其他型別的應用程式,如微服務。這個版本提供的模組包更加輕量級。
新版abp官網: https://abp.io
原始碼: https://github.com/abpframework/abp
中文文件: https://docs.abp.io/zh-Hans/abp/latest
abp漢化: https://github.com/cnabp
nuget包地址: https://www.nuget.org/profiles/volosoft
官網nuget包: https://abp.io/package
企業版: https://commercial.abp.io
這也是領域驅動設計的基本分層結構。
ABP 框架初始化
ABP框架提供了命令列工具ABP CLI,作為一個專案初始化的腳手架,透過它可以快速的構建一個基於領域驅動設計的起始專案,方便我們進行Web應用的開發。
使用ABP CLI初始化ABP專案
-
安裝
ABP CLI是一個.net工具,在.net core 2.1及以上的環境下,可以透過命令列工具進行安裝和更新。安裝命令如下:dotnet tool install -g Volo.Abp.Cli
安裝完成之後,在命令列中輸入abp,即可檢視當前ABP CLI版本,出現上圖內容時,即按照成功。
-
更新
ABP 框架更新比較頻繁,不使用VS中的程式包管理工具,透過ABP CLI也可以更新依賴的ABP框架nuget包,但是ABP CLI本身也需要更新,否則會有警告資訊。更新命令如下:dotnet tool update -g Volo.Abp.Cli
也可以透過下面選項,在使用ABP CLI更新包的時候跳過版本檢查。
--skip-cli-version-check
-
解除安裝
作為一個.net 工具,ABP CLI自然可以解除安裝,解除安裝命令如下:dotnet tool uninstall -g Volo.Abp.Cli
-
生成解決方案
透過 abp new 命令可以快速的初始化一個解決方案。new 命令可以追加一些引數,生成不同的解決方案。下面羅列出一些生成不同解決方案的命令,其他的引數選項可參考 ABP CLI。
- 生成一個mvc框架的Web專案
abp new <解決方案名稱>
- 生成一個前後端分離專案,目前只支援angular
abp new <解決方案名稱> -t app -u angular
- 生成一個WebApi專案,作為前後端分離的後端解決方案
abp new <解決方案名稱> -t app -u none
- 分離Identity Server,上面幾種方式建立的解決方案中整合了Identity Server,與服務端同一個埠
abp new <解決方案名稱> -t app -u none --separate-identity-server
- 指定資料庫提供程式,可以是關係型資料庫(EF),或者非關係型資料庫(mongodb)
abp new <解決方案名稱> -t app -u none --database-provider ef
- 生成一個微服務解決方案
abp new <解決方案名稱> -t module --no-ui
- 生成一個控制檯程式
abp new <解決方案名稱> -t console
- 生成一個mvc框架的Web專案
-
新增包
透過以下命令將ABP提供的模組包新增到專案中,這種方式會自動在專案中的模組類中新增對於的包依賴,即[DependsOn(...)]特性。
abp add-package <包名>
-
更新包
透過以下命令,可以一次性更新全部ABP的依賴包到最新版本,需要在.sln或者.csproj檔案所在的資料夾中執行。abp update
ABP 系列總結:
目錄:ABP 系列總結