领域驱动设计:流程、工具与实践
在软件开发中,领域驱动设计(DDD)是一种强大的方法,它强调以业务领域为核心,通过明确边界上下文、建立通用语言等方式,帮助团队更好地理解和实现业务需求。接下来,我们将深入探讨领域驱动设计中的一些关键概念和实践,包括事件处理、边界上下文集成、地形建模以及如何避免常见的失败陷阱并取得成功。
1. 事件与上下文交互
在领域驱动设计中,事件是驱动业务流程的重要元素。以风险评估和费率计算为例,存在一个名为“Risk Assessed”的事件,它会对费率产生影响。而“Rate Context”有自己独特的发布语言,其中一个元素是“Rate Calculated”。“Rate Calculated”事件会被“Underwriting Context”消费,“Underwriting Context”会根据一个或多个“Rate Calculated”事件构建报价,并为每个完成的报价发出“Quote Generated”事件。
为了维护和共享国际、国家和组织定义的发布语言,可以使用模式注册表。一个优秀的模式注册表应支持任意数量的业务上下文模式,每个模式有多个版本,并能进行版本间的兼容性检查。例如,开源的反应式框架VLINGO XOOM中的Schemata工具就提供了这样的模式注册表。
2. 独立发展策略
当一个团队考虑与另一个边界上下文集成,但集成成本可能高于潜在收益时,该团队可能会选择独立发展。选择独立发展的团队会创建自己的一次性解决方案,或做出更简单的建模决策,以快速解决面临的问题。
不过,这种策略也存在缺点。如果选择的解决方案导致数据和领域专业知识形成大量孤岛,且这些孤岛与系统其他部分大致重复,就
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



