DDD实践中如何设计上下文BC之间的映射关系?

💡 原文中文,约3600字,阅读约需9分钟。
📝

内容提要

本文介绍了如何区分产品基础设施和技术基础设施,以及与产品基础设施相关的通用技术。文章还讨论了通用有界上下文(GBC)的概念,以及在DDD中的三种主要子域类型。此外,文章还介绍了交叉服务和GBC实用模式,以及依赖、关系和成熟度的类型。最后,文章总结了在构建基础架构时应考虑的不同实用模式。

🎯

关键要点

  • 技术基础设施主要由开发人员使用,不影响用户体验,产品基础设施则直接影响用户体验。
  • 平台组负责产品基础设施,技术组负责技术基础设施。
  • 通用有界上下文(GBC)在DDD中是一个重要概念,包含多个有界上下文(BC)。
  • 有界上下文分为核心BC、支持性BC和通用BC,分别代表不同的业务逻辑和需求。
  • 交叉服务为系统中的不同聚合体提供常用功能,设计上不面向特定产品领域。
  • 创建交叉微服务的时机包括需要重复能力、依赖关系复杂或需要独立部署能力时。
  • 在GBC中,优先购买现成产品,只有在没有可用产品时才考虑自制。
  • 依赖、关系和成熟度是定义GBC实用模式的重要因素。
  • BC的依赖类型包括相互依赖、上游下游和自由关系。
  • 上下文映射描述有界上下文和团队之间的关系,帮助理解依赖和成熟度。
  • 成熟度特征帮助选择适合的实用模式,分为Customer supplier、Conformist、Open-host service和反腐层。
  • 构建基础架构时需考虑依赖关系和MVP思维,确保服务满足产品团队的需求。
➡️

继续阅读