k的D構管理係統實基於NDD架踐
/// <summary>/// 部門信息變更領域事件/// </summary>public record DeptInfoChangedDomainEvent(Dept Dept) : IDomainEvent;然後在事件處理器中處理這個邏輯:
/// <summary>/// 部門信息變更領域事件處理器 - 用於更新用戶部門名稱/// </summary>public class DeptInfoChangedDomainEventHandlerForUpdateUserDeptName( IMediator mediator,管理 UserQuery userQuery) : IDomainEventHandler<DeptInfoChangedDomainEvent>{ public async Task Handle(DeptInfoChangedDomainEvent domainEvent, CancellationToken cancellationToken) { var dept = domainEvent.Dept; var deptId = dept.Id; var newDeptName = dept.Name; // 查詢所有屬於該部門的用戶ID var userIds = await userQuery.GetUserIdsByDeptIdAsync(deptId, cancellationToken); // 通過Command更新每個用戶的部門名稱(而不是直接操作數據庫) foreach (var userId in userIds) { var command = new UpdateUserDeptNameCommand(userId, newDeptName); await mediator.Send(command, cancellationToken); } }}這樣設計的好處是 ,Domain層作為核心,系统接口定義好之後,实践
架構設計
分層架構
整個項目采用了經典的基于架构三層架構 ,
可維護性這塊,管理職責清晰 。系统可以查看所有服務的狀態 。
基於NetCorePal Cloud Framework的DDD架構管理係統實踐
前段時間在做一個管理係統的項目
,不依賴任何其他層
。還有完善的開發規範 ,其次是屬性都用private set
功成身退網