AbpVnext系列<一> 简介和创建项目
1、简介
AbpVnext是 ABP 框架作者所发起一个基于 ASP .NET Core的框架,可以根据需求引入所需要的组件。是一个实现了大部分DDD思想的框架。
ABP官网:https://aspnetboilerplate.com/
ABP源码:https://github.com/aspnetboilerplate/aspnetboilerplate
ABP中文社区:https://abp.io/
ABP官方文档:https://docs.abp.io/zh-Hans/abp/latest/Startup-Templates/Module
2、项目创建
1、根据文档我们在powershell输入
dotnet tool install -g Volo.Abp.Cli
2、然后打开存放项目的文件夹,在文件夹路径上输入cmd打开命令界面输入如下命令下载代码。
abp new AidenAdmin -t module --no-ui
3、由于后期要引入第三方前端框架,且重写权限业务,因此,就不需要ui界面了。下载完后的项目如下。
4、各个模块简单介绍一下
-
Domain.Shared:项目包含常量,枚举和其他对象,这些对象实际上是领域层的一部分,但是解决方案中所有的层/项目中都会使用到,该项目不依赖解决方案中的其他项目. 其他项目直接或间接依赖该项目。
-
Domain:领域层. 它主要包含 实体, 集合根, 领域服务, 值类型, 仓储接口 和解决方案的其他领域对象。比如仓储层对应的接口层、entity、缓存的接口和实现、对外请求的httpclient的接口与实现。
-
Application.Contracts:主要包含 应用服务 interfaces 和应用层的 数据传输对象 (DTO). 它用于分离应用层的接口和实现. 这种方式可以将接口项目做为约定包共享给客户端。
-
Application:包含
Application.Contracts
项目的 应用服务 接口实现. -
EntityFrameworkCore:仓储层,它定义了
DbContext
并实现.Domain
项目中定义的仓储接口 -
MongoDB:K/V数据库的仓储层。
- HttpAPI:接口宿主。