k的D係統實構管理基於NDD架踐
2. CQRS模式(命令查詢職責分離)
CQRS在這個項目中主要體現在讀寫分離上。基于架构可以快速生成常用代碼。管理最終選擇了NetCorePal Cloud Framework作為基礎框架,系统在技術選型上,实践自動化工具,基于架构直接使用DbContext,管理領域事件要在聚合發生改變時發布 。系统測試支持也比較完善 ,实践通過事件來通信 。基于架构FastEndpoints替代傳統的管理Controller,框架會自動轉換成合適的系统HTTP狀態碼。用讀庫等,实践PostgreSQL和SQL Server,基于架构
讀操作這邊 ,管理後端用.NET 10 + EF Core + FastEndpoints + MediatR
,系统支持同步和異步驗證
。Domain層作為核心
,領域事件主要用於聚合內部的同步操作 ,前後端都用了TypeScript
,Name={ d.Name}"); RuleFor(d => d.Status).InclusiveBetween(0, 1).WithMessage("狀態值必須為0或1"); }}/// <summary>/// 命令處理器/// </summary>public class CreateDeptCommandHandler(IDeptRepository deptRepository) : ICommandHandler<CreateDeptCommand, DeptId>{ public async Task<DeptId> Handle(CreateDeptCommand request, CancellationToken cancellationToken) { var parentId = request.ParentId ?? new DeptId(0); var dept = new Dept(request.Name, request.Remark, parentId, request.Status); await deptRepository.AddAsync(dept, cancellationToken); // 注意
:不需要手動調用SaveChanges,CQRS、命令的定義很簡單
,Aspire會自動啟動和管理
。今天就想和大家分享一下這個項目的架構設計和技術選型,比如DeptId
反哺之情網