问题描述
领域驱动设计 (DDD) 中选择的共享内核和已发布语言战略模式之间的主要区别是什么?
解决方法
shared-kernel
和 published-language
都是上下文映射模式集合的一部分。上下文映射是一种非常有用且功能强大的工具,它允许人们查看哪种依赖项将系统链接在一起。他们还可以突出团队关系。shared-kernel
表示两个系统通过共享一个共享工件(模型、DLL、Jar、DB 等)强耦合。如果这两个系统由 2 个不同的团队处理,则意味着每当 A 团队更改某事时,它都会影响 B 团队,反之亦然。published-language
是一个有据可查的模型,每个人都可以理解和翻译。想想 iCal、VCard 或类似的东西。
Michael Plöd 在记录上下文映射模式方面做得很好,您可以看看 here。
它们是完全不同的东西。
共享内核基本上是两个有界上下文共享的模型。
发布语言通常与开放主机服务模式一起使用,是一种众所周知的语言,用于定义所提供的服务。例如,JSON 或 XML。