逻辑组件
逻辑组件是包含以下内容的软件片段: 业务逻辑 的应用程序。它们按领域或功能进行语义组织,并作为控制器与适配器之间的协调层。
目的
逻辑组件:
实现业务规则和领域逻辑
协调跨多个适配器的操作
封装复杂工作流
保持独立于传输层(HTTP、WebSocket)相关问题
可在没有 I/O 依赖的情况下进行全面的单元测试
位置
逻辑组件 SHOULD 放置在 src/logic 或 src/components 目录下,并按领域组织:
src/
└── logic/
├── users/
├── content/
├── permissions/
└── notifications/特性
1. 适配器消费
逻辑组件是适配器的主要消费者。它们使用适配器与外部资源交互,同时专注于业务规则。
2. 业务规则
逻辑组件强制执行业务规则和验证:
3. 工作流协调
逻辑组件协调复杂的多步骤操作:
最佳实践
1. 单一职责
每个逻辑组件都应专注于一个领域或限界上下文:
2. 依赖注入
始终通过 components 参数注入依赖:
3. 错误处理
抛出有意义的领域错误,供控制器捕获并处理:
4. 纯业务逻辑
让逻辑组件不受传输层相关问题影响:
测试逻辑组件
逻辑组件应进行全面的单元测试。详见 测试服务(WKC) 文档了解详情。
即将推出
本节将扩展为包含:
领域驱动逻辑组件的详细示例
处理复杂工作流的模式
组织大型领域逻辑的指南
与事件系统集成
缓存策略
事务管理模式
最后更新于