ABP框架 ABP是用於創建現代化Web應用程式的完整體繫結構和強大的基礎架構,以模塊化的方式進行開發,所有模塊以nuget包的方式提供,開箱即用,遵循最佳實踐和約定,提供SOLID開發經驗。 | 縮寫 | 英文 | 中文 | |--|--|--| | SRP | The Single Respon ...
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 系列總結