ABP - 初識 ABP

啊晚發表於2023-05-13

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 體系結構圖

這也是領域驅動設計的基本分層結構。
image

ABP 框架初始化

ABP框架提供了命令列工具ABP CLI,作為一個專案初始化的腳手架,透過它可以快速的構建一個基於領域驅動設計的起始專案,方便我們進行Web應用的開發。

使用ABP CLI初始化ABP專案

  1. 安裝
    ABP CLI是一個.net工具,在.net core 2.1及以上的環境下,可以透過命令列工具進行安裝和更新。安裝命令如下:

    dotnet tool install -g Volo.Abp.Cli
    

    image

    安裝完成之後,在命令列中輸入abp,即可檢視當前ABP CLI版本,出現上圖內容時,即按照成功。

  2. 更新
    ABP 框架更新比較頻繁,不使用VS中的程式包管理工具,透過ABP CLI也可以更新依賴的ABP框架nuget包,但是ABP CLI本身也需要更新,否則會有警告資訊。更新命令如下:

    dotnet tool update -g Volo.Abp.Cli
    

    也可以透過下面選項,在使用ABP CLI更新包的時候跳過版本檢查。

    --skip-cli-version-check
    
  3. 解除安裝
    作為一個.net 工具,ABP CLI自然可以解除安裝,解除安裝命令如下:

    dotnet tool uninstall -g Volo.Abp.Cli
    
  4. 生成解決方案

    透過 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
      
  5. 新增包

    透過以下命令將ABP提供的模組包新增到專案中,這種方式會自動在專案中的模組類中新增對於的包依賴,即[DependsOn(...)]特性。

    abp add-package <包名>
    
  6. 更新包
    透過以下命令,可以一次性更新全部ABP的依賴包到最新版本,需要在.sln或者.csproj檔案所在的資料夾中執行。

    abp update
    


ABP 系列總結:

目錄:ABP 系列總結

相關文章