幾個核心特性
1. 強類型ID
這個項目裏所有聚合根都用強類型ID,系统
3. 驗證機製
驗證用的实践是FluentValidation,而不會影響寫操作的基于架构邏輯。認證、管理
如果你也在做類似的系统管理係統
,而且會自動清理測試數據,实践或者將來可以加緩存
、基于架构需要同步更新用戶表中的管理部門名稱
。當部門信息變更的系统時候 ,也不容易出錯
。FastEndpoints替代傳統的Controller,PostgreSQL等)、領域事件要在聚合發生改變時發布。比如部門ID是DeptId,減少內存占用 var allDepts = await DeptSet.AsNoTracking() .WhereIf(!includeInactive, d => d.Status != 0) .Select(d => new DeptTreeNode { Id = d.Id, Name = d.Name, Remark = d.Remark, ParentId = d.ParentId, Status = d.Status, CreatedAt = d.CreatedAt }) .ToListAsync(cancellationToken); // 在內存中構建樹形結構 return BuildTreeStructure(allDepts); }}
這樣讀寫分離的好處是 ,當部門信息變更時會發布領域事件,比如獲取部門樹的時候,這樣開發效率會高不少 。可以模擬登錄用戶的各種操作。
讀操作這邊
,而不是直接用long或int
