Skip to content

Day 19 - 上下文映射器实现

📖 今日目标

  1. 理解上下文映射的实现方式
  2. 掌握不同映射模式的代码实现
  3. 学习上下文间数据同步

核心概念

上下文映射实现

上下文映射定义了限界上下文之间的协作方式,需要通过代码实现这些映射关系。

关键要点

1. 集成模式实现

客户-供应商模式

java
// 下游上下文调用上游服务
public class OrderContext {
    private final WarehouseService warehouseService;
    
    public void checkStock(List<Product> products) {
        return warehouseService.checkAvailability(products);
    }
}

防腐层模式

java
public class CustomerAdapter {
    public Customer toInternal(ExternalCustomer external) {
        // 转换逻辑
    }
}

2. 共享内核

共享内核需要严格管理:

  • 共同维护的模型子集
  • 双方协商修改
  • 避免过度共享

3. 数据同步

跨上下文数据同步方式:

  • 同步:通过API实时调用
  • 异步:通过消息队列事件同步

面试考点

问题:如何处理上下文间的数据一致性?

答案:

  1. 同步调用:适合强一致性场景,但有延迟
  2. 事件驱动:适合最终一致性,性能更好
  3. Saga模式:跨多个上下文的分布式事务

选择依据业务需求,DDD通常推荐事件驱动实现最终一致性。

实践思考

🎯 思考题

订单上下文需要查询商品上下文的价格,设计实现方案。


📅 学习进度

Day主题状态
01-18战略设计 + 战术 + 架构
19上下文映射器实现
20领域模型持久化
.........
30复习与总结

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

📚 导航

| ← Day 18 - 上一章 | Day 20 - 下一章 →

最后更新: