構管理係統實k的D基於NDD架踐
這樣讀寫分離的好處是 ,倉儲的系统實現很簡單:
/// <summary>/// 部門倉儲接口/// </summary>public interface IDeptRepository : IRepository<Dept, DeptId> { }/// <summary>/// 部門倉儲實現/// </summary>public class DeptRepository(ApplicationDbContext context) : RepositoryBase<Dept, DeptId, ApplicationDbContext>(context), IDeptRepository { }框架會自動管理事務和SaveChanges,還有國際化支持 ,实践讀操作通過查詢(Query)來處理 。基于架构
2. 倉儲模式
倉儲這塊 ,管理或者想了解DDD在實際項目中的系统應用,
Ncp.Admin├── Domain(領域層)│ ├── AggregatesModel(聚合模型)│ └── DomainEvents(領域事件)├── Infrastructure(基礎設施層)│ ├── EntityConfigurations(實體配置)│ └── Repositories(倉儲實現)└── Web(表現層) ├── Application(應用服務層) │ ├── Commands(命令) │ ├── Queries(查詢) │ └── DomainEventHandlers(領域事件處理器) └── Endpoints(API端點)這種分層的实践好處是職責清晰,這樣開發效率會高不少 。基于架构而且測試起來也很方便 ,管理CQRS、系统還有代碼可視化工具,寫操作通過倉儲來處理
,所有命令都要有對應的驗證器
。支持同步和異步驗證。類圖等,應該能有一些參考價值。前後端都用了TypeScript ,想嚐試一下DDD架構在實際項目中的應用。直接測端點就行了。項目選擇了FastEndpoints而不是傳統的Controller。需要檢查部門名稱是否已存在,後端用.NET 10 + EF Core + FastEndpoints + MediatR,職責清晰。首先是強類型ID,其次是屬性都用private set
目擊道存網