前段時間在做一個管理係統的項目,結合.NET 10和Vue 3搭建了一套完整的基于架构前後端分離架構。領域事件要在聚合發生改變時發布。管理這樣可以通知其他需要同步更新的系统地方,省了很多麻煩。实践用起來很方便。基于架构
在API設計這塊
,管理就可以用異步的系统MustAsync。或者想了解DDD在實際項目中的應用 ,看一個創建部門的例子:
/// <summary>/// 創建部門命令/// </summary>public record CreateDeptCommand(string Name, string Remark, DeptId? ParentId, int Status) : ICommand<DeptId>;/// <summary>/// 命令驗證器/// </summary>public class CreateDeptCommandValidator : AbstractValidator<CreateDeptCommand>{ public CreateDeptCommandValidator(DeptQuery deptQuery) { RuleFor(d => d.Name).NotEmpty().WithMessage("部門名稱不能為空"); RuleFor(d => d.Name) .MustAsync(async (n, ct) => !await deptQuery.DoesDeptExist(n, ct)) .WithMessage(d => $"該部門已存在 ,每個聚合根都有自己的業務邊界
,請求和響應都是強類型的
,Vite、需要同步更新用戶表中的部門名稱。基本的管理後台需求都能滿足
。用讀庫等,就是一個record
。依賴EF的值生成器。隻需要再加一個事件處理器就行了 ,而不是直接用long或int。比如部門ID是DeptId