知识卡片
垂直切片按用例
内容
垂直切片按业务能力组织代码,让一个用例所需的命令、处理器、规则和接口靠近。它适合变化频繁的复杂系统,因为修改常沿业务场景发生,而不是沿技术层横向扩散。
参考来源
- 位置:《复杂软件设计之道》第5章《CQRS架构》"5.1.6 垂直切片架构"一节(源文件:_chapter_text/ch05.txt)
- 结论依据:原文明确"如果根据功能进行分'层'(称为'片')则会大大提高开发效率,这种'片'是垂直于分层的",以获取订单/发票提交/取消订单等不同用例各自选用最合适的技术实现为例,说明"通过这种方法,大多数抽象的分层都可以消失了……将交叉切片逻辑共享保持在了最低限度"。
- 原始内容:垂直切片架构是来自Jimmy Bogard的CQRS实践总结……如果根据功能进行分"层"(称为"片")则会大大提高开发效率,这种"片"是垂直于分层的……如获取订单是一种读取职责,可以直接使用ORM转换为DTO实现……又如发票的提交是一种写入操作,使用基于聚合根的事件溯源方式,而取消订单则使用存储过程……通过这种方法,大多数抽象的分层都可以消失了……将交叉切片逻辑共享保持在了最低限度。