用途:该技能面向 .NET 开发,讲解命令查询分离(CQS)与命令查询职责分离(CQRS)模式,用于设计方法、处理器和应用架构,使代码更可预测、可测试。
主要能力:说明 CQS 原则——方法要么是改变状态的命令(返回 void),要么是返回数据的查询(无副作用),并给出违规示例(如 Pop 同时删除并返回元素、带副作用的 getter、命令返回数据)与正确实现(Peek/Pop 分离、纯查询属性、命令仅返回标识符)。列出可接受的例外:原子操作(Interlocked)、流式 API(Builder 返回 this)、工厂方法。
CQRS 部分:在架构层面分离读写模型,包含命令与查询的标记接口、命令处理器与查询处理器接口及实现、调度器(Dispatcher)模式,以及在控制器中的用法示例。查询侧可直接用 SQL 优化读取,写入侧使用领域模型并发布领域事件。
适用场景:读写模式差异大的复杂领域、读多写少、需要审计追踪、事件溯源、带独立读副本的微服务。
限制:简单 CRUD 应用、小型团队或项目、读写模式一致、复杂度收益不抵成本时不必使用。资料未提供安装命令、收费或平台信息。