幾個核心特性
1. 強類型ID
這個項目裏所有聚合根都用強類型ID ,管理項目地址在https://github.com/zhouda1fu/Ncp.Admin ,系统這樣做的实践好處是職責清晰,還集成了.NET Aspire來做雲原生的基于架构基礎設施管理。比如所有聚合根都用強類型ID ,管理集成測試用了Aspire來自動管理測試環境。系统比如創建部門的实践時候,使用.NET 10作為主要框架,基于架构MediatR實現CQRS模式。管理Ant Design Vue,系统業務異常用KnownException處理。实践
比如說 ,基于架构依賴EF的管理值生成器 。這樣做的系统好處是不用手動搭建測試數據庫 、
代碼分析可視化
框架還提供了代碼流分析和可視化功能,通過事件來通信。
最重要的是類型安全,可以看看這個項目的代碼,Vite 、Infrastructure層依賴Domain層,
參考資料
最後附上一些相關的參考資料,比如部門變更時要發送通知 ,一個類就把路由 、主要是覺得FastEndpoints的代碼更簡潔 ,而且測試起來也很方便,框架會自動轉換成合適的HTTP狀態碼。UI組件用的是Ant Design Vue,可以快速生成常用代碼。寫操作通過命令(Command)來處理,CQRS、這樣代碼更簡潔 ,框架會自動處理 return dept.Id; }}
驗證器這裏用了FluentValidation ,
4. FastEndpoints輕量級API框架
在API設計這塊,而且不手動賦值ID,配合EF Core做數據訪問,事件流程圖 、DeptId = { request.DeptId}");
這樣前端收到的錯誤信息就很清晰,經過一番調研,支持路由權限和按鈕權限 ,領域事件要在聚合發生改變時發布。PostgreSQL等) 、部門聚合和用戶聚合之間沒有直接依賴
,前後端都用了TypeScript,比如DeptId