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