Skip to content

Day 15 - 限界上下文集成模式

📖 今日目标

  1. 理解限界上下文之间的集成方式
  2. 掌握不同集成模式的适用场景
  3. 学习防腐层的实现

核心概念

上下文映射模式

限界上下文之间需要相互协作,主要集成模式:

  • 共享内核(Shared Kernel)
  • 客户-供应商(Customer-Supplier)
  • 防腐层(Anti-Corruption Layer)
  • 开放主机服务(Open Host Service)
  • 独立进程(Separate Ways)

关键要点

1. 防腐层(ACL)

java
// 外部系统的适配器
public class CustomerAdapter implements CustomerGateway {
    
    private final ExternalCustomerApi externalApi;
    
    @Override
    public Customer findCustomer(CustomerId id) {
        // 转换为内部模型
        ExternalCustomer external = externalApi.getCustomer(id);
        return new Customer(
            CustomerId.of(external.getId()),
            external.getName(),
            // ... 转换逻辑
        );
    }
}

2. 防腐层的作用

  • 隔离外部模型与内部模型
  • 防止外部变化影响内部
  • 允许内部使用领域语言

3. 集成方式选择

场景推荐模式
遗留系统对接防腐层
上下游关系客户-供应商
紧密协作团队共享内核
开放API开放主机服务

面试考点

问题:什么时候需要防腐层?

答案:

需要防腐层的场景:

  1. 对接遗留系统:遗留系统的模型不符合DDD,需要转换
  2. 对接外部服务:外部服务的模型与内部模型不一致
  3. 保护内部模型:防止外部变化影响内部设计

防腐层让内部限界上下文保持纯净,不受外部干扰。

实践思考

🎯 思考题

在电商系统中对接第三方支付系统,如何设计防腐层?


📅 学习进度

Day主题状态
01-14战略设计 + 战术基础
15限界上下文集成模式
16DDD与分层架构
.........
30复习与总结

本文为DDD 30天学习计划第15天内容

📚 导航

| ← Day 14 - 上一章 | Day 16 - 下一章 →

最后更新: