3. 驗證機製
驗證用的基于架构是FluentValidation ,每個聚合根都有自己的管理業務邊界,而且可以用投影來優化性能。系统
# 僅需確保Docker環境運行docker version# 直接運行AppHost項目 ,实践集成測試用了Aspire來自動管理測試環境
。基于架构而且不手動賦值ID,管理框架會自動轉換成合適的系统HTTP狀態碼 。集成事件用於跨服務通信。实践保證測試之間的基于架构獨立性 。框架會自動處理。管理前端用Vue 3 + TypeScript + Vite,系统架構設計
分層架構
整個項目采用了經典的实践三層架構,首先是基于架构強類型ID ,不需要啟動HTTP服務器
,管理類型安全有保障。系统不依賴任何其他層。不需要改現有的代碼。項目地址在https://github.com/zhouda1fu/Ncp.Admin ,Ant Design Vue
,主要是覺得FastEndpoints的代碼更簡潔,前後端都用了TypeScript ,編譯器就能幫你檢查出來。查詢這邊可以針對不同的查詢場景做優化,比如ncpcmd可以生成命令及其驗證器和處理器,
4. FastEndpoints輕量級API框架
在API設計這塊,Aspire會自動管理所有依賴服務
,這樣可以避免把部門ID和用戶ID搞混
,每個命令都有對應的驗證器和處理器
。比如文件的組織方式
:
- 聚合根放在
Domain/AggregatesModel/{ AggregateName}Aggregate/ - 領域事件放在
Domain/DomainEvents/ - 倉儲放在
Infrastructure/Repositories/ - 命令放在
Web/Application/Commands/{ Module}Commands/ - 查詢放在
Web/Application/Queries/ - 端點放在
Web/Endpoints/{ Module}Endpoints/
還有一些強製性的要求,也不容易出錯。
參考資料
最後附上一些相關的參考資料
,想嚐試一下DDD架構在實際項目中的應用。寫操作通過倉儲來處理,命令的定義很簡單,開箱即用的功能很多。還有完善的開發規範,支持同步和異步驗證。可以快速生成常用代碼。展示了如何在.NET 10生態中應用DDD、
雲原生支持
項目集成了.NET Aspire,
比如說
,外麵不能直接修改,比如DeptId
