摘要: 启动项目 在上一章节中,已经实现了数据迁移,在这一章节中,实现项目的表现层,即解决方案的启动项目 创建名称为General.Backend.Web的Web应用启动项目,接下来改造默认生成的启动项目 日志 在程序包管理控制台选中General.Backend.Web,执行以下命令安装Serilog日志 阅读全文
posted @ 2025-04-24 11:17 loveraindeme 阅读(88) 评论(0) 推荐(0)
摘要: 数据迁移 在上一章节中,已经展示了数据播种的用途之一,即单元测试中进行数据初始化,在这一章节中,实现数据播种的另一重要用途,即数据迁移 该项目使用的是代码优先的开发模式,需要将领域模型迁移到数据库中的数据模型 EF数据迁移 在程序包管理控制台选中General.Backend.EntityFrame 阅读全文
posted @ 2025-04-01 22:10 loveraindeme 阅读(238) 评论(0) 推荐(0)
摘要: 数据种子 在上一章节中,已经对仓储层和应用层进行了单元测试,在这一章节中,进行数据播种 大多数程序正常运行都需要依赖于初始数据,依赖于数据库的程序基本都是如此 例如需要有一个初始的管理员用户或者一个管理员角色,用来进行登录系统,像这种主要用于生产环境中的数据播种,往往都是涉及到程序版本更新,而需要添 阅读全文
posted @ 2025-04-01 22:06 loveraindeme 阅读(53) 评论(0) 推荐(0)
摘要: 应用服务 在上一章节中,已经完成了领域服务的设计,在这一章节中,实现应用服务,主要内容为业务逻辑的设计和组合 创建名称为General.Backend.Application.Contracts的标准类库,以及在该类库中新建名称为Dtos的文件夹 在程序包管理控制台选中General.Backend 阅读全文
posted @ 2025-03-07 17:33 loveraindeme 阅读(70) 评论(0) 推荐(0)
摘要: 领域服务 在上一章节中,已经完成了仓储的设计,在这一章节中,实现领域服务,即业务的核心逻辑 领域服务主要处理特定领域的业务逻辑,对内协调和整合聚合根与各个实体的业务关系,对外作为业务的边界,供应用服务组合来提供完整复杂的功能 规约 在名称为General.Backend.Domain的类库中的Spe 阅读全文
posted @ 2025-02-25 21:40 loveraindeme 阅读(105) 评论(0) 推荐(0)
摘要: 仓储 在上一章节中,已经完成了领域层的聚合根和实体设计,在这一章节中,实现仓储层的部分功能 仓储作为领域模型和数据模型的桥梁,领域层不关注仓储是怎么实现持久化数据的。对于领域层,仓储层隐藏了持久化数据的细节,所以只需要将仓储接口定义在领域层,而具体的仓储实现则在仓储层,具体的ORM实现可以是Enti 阅读全文
posted @ 2025-02-16 19:29 loveraindeme 阅读(136) 评论(0) 推荐(0)
摘要: 聚合根和实体 在上一章节中,已经完成了项目搭建的前置准备,在这一章节中,实现领域层的聚合根和实体 创建名称为General.Backend.Domain的标准类库,分别新建名称为Entities、Services、IRepositories和Specifications的文件夹,用于存放实体和聚合根 阅读全文
posted @ 2025-02-15 15:36 loveraindeme 阅读(93) 评论(0) 推荐(0)
摘要: 项目介绍 本项目使用.NET8+ABP+MySql搭建,基于DDD的设计思想,创建分层Web应用程序。 相关文档 .NET开发文档 Entity Framework Core开发文档 ABP开发文档 环境配置 Visual Studio下载安装 MySql下载安装 HeidiSql下载安装 浏览器插 阅读全文
posted @ 2025-02-15 15:35 loveraindeme 阅读(64) 评论(0) 推荐(0)
摘要: 单元测试 在上一章节中,已经实现了应用服务,在这一章节中,对仓储层和应用层进行单元测试 创建名称为General.Backend.TestBase的Xunit测试类库,配置测试模块功能需要使用到的工作单元和依赖注入系统 在程序包管理控制台选中General.Backend.TestBase,执行以下 阅读全文
posted @ 2025-01-15 23:52 loveraindeme 阅读(32) 评论(0) 推荐(0)