整洁开发
cola 4.0
六边形架构
- 实体
不关心数据来源
- 存储库
是获取、 创建、 更改实体的接口
-
交互器
是用来编排和执行域动作,它们实现复杂的业务规则和针对特定域动作,例如:上线一步节目的验证逻辑
-
数据源
针对不同存储实现的适配器(adaptor)。数据源可能是sql数据库的适配器、弹性搜索适配器、rest api
-
传输层
可以出发交互器来执行业务逻辑。我们将其视为系统的输入。 微服务最常见的传输层是http api层和一组用来处理请求的控制器Controller。将业务逻辑提取到交互器后,我们就不会耦合到特定传输层活着控制器实现。交互器不仅可以由控制器触发,还能由事件、cron作业、或从命令行触发。
测试策略
交互器:业务逻辑的核心存在于此,但与任何类型的持久层或传输层无关。我们用上了依赖注入,并 mock 任意类型的存储库交互。在这里我们详细测试业务逻辑,大部分测试都位于此处。 数据源:以确定它们是否与其他服务正确集成,它们是否对接上存储库接口,并检查它们在出现错误时的行为。我们试着尽量减少这些测试的数量。