| 结构 | 核心域(纯业务)→ 端口(接口)← 适配器(实现) |
|---|---|
| 组装 | main/启动层做依赖注入 |
| 收益 | 测试用内存适配器,不依赖真实中间件 |
测试替身示例
测试替身示例
// 生产:MySQLOrderRepository
// 测试:InMemoryOrderRepository
OrderService service = new OrderService(new InMemoryOrderRepository());业务核心只依赖接口(端口),数据库、消息、第三方 SDK 作为适配器实现端口:技术选型可替换、核心可脱离环境测试;依赖注入在组装层完成,业务代码无 new 基础设施。
| 结构 | 核心域(纯业务)→ 端口(接口)← 适配器(实现) |
|---|---|
| 组装 | main/启动层做依赖注入 |
| 收益 | 测试用内存适配器,不依赖真实中间件 |
// 生产:MySQLOrderRepository
// 测试:InMemoryOrderRepository
OrderService service = new OrderService(new InMemoryOrderRepository());