当前位置: 首页 >> 资讯 >
新资讯:ABP - 初识 ABP
来源:博客园     时间:2023-05-13 20:32:13
ABP框架

ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供SOLID开发经验。

缩写英文中文
SRPThe Single Responsibility Principle单一职责元素
OCPThe Open Closed Principle开放封闭原则
LSPThe Liskov Substituution Principle里氏替换原则
ISPThe Interface Segregation Principle接口替换原则
DIPThe 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/latestabp汉化: https://github.com/cnabpnuget包地址: https://www.nuget.org/profiles/volosoft官网nuget包: https://abp.io/package企业版: https://commercial.abp.io

ABP 体系结构图

这也是领域驱动设计的基本分层结构。

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

添加包

通过以下命令将ABP提供的模块包添加到项目中,这种方式会自动在项目中的模块类中添加对于的包依赖,即[DependsOn(...)]特性。

abp add-package <包名>

更新包通过以下命令,可以一次性更新全部ABP的依赖包到最新版本,需要在.sln或者.csproj文件所在的文件夹中执行。

abp update

ABP 系列总结:

目录:ABP 系列总结

标签:

X 关闭

X 关闭