Domain driven design DDD:无所不在语言的范围是什么?是域上下文还是有界上下文?

Domain driven design DDD:无所不在语言的范围是什么?是域上下文还是有界上下文?,domain-driven-design,Domain Driven Design,领域驱动设计(DDD)中的一个关键概念是泛在语言 这种无处不在的语言的典型范围(一致性边界)是什么?它的范围是由有界上下文(例如,某个域中的系统/组件)确定的,还是由域本身确定的?在较大的企业中,不同的系统(即有界上下文)可能实现同一个域 我的假设是它绑定到一个有界上下文,因为在多个有界上下文(即使它们属于同一个域)之间无法保证一致性,但我不确定。有界上下文是无处不在的语言所在 沃恩·弗农将DDD简而言之定义为: 在有限语境中开发泛在语言 这个问题已经被提出并得到了回答 更新:我在DDD挪威会议

领域驱动设计(DDD)中的一个关键概念是泛在语言

这种无处不在的语言的典型范围(一致性边界)是什么?它的范围是由有界上下文(例如,某个域中的系统/组件)确定的,还是由域本身确定的?在较大的企业中,不同的系统(即有界上下文)可能实现同一个域


我的假设是它绑定到一个有界上下文,因为在多个有界上下文(即使它们属于同一个域)之间无法保证一致性,但我不确定。

有界上下文是无处不在的语言所在

沃恩·弗农将DDD简而言之定义为:

在有限语境中开发泛在语言

这个问题已经被提出并得到了回答


更新:我在DDD挪威会议上做了一个关于的演讲,涵盖了UL和上下文的重要性。可以找到幻灯片。

无处不在的语言是在有限的上下文中定义的。当您查看包含相同术语的不同BC时,这一点变得很明显。在线商店中的书的概念与创作系统中的书完全不同

沃恩·弗农实施DDD时:

有界上下文是明确的和语言的

有界上下文是域模型存在的显式边界。在边界内,泛在语言的所有术语和短语都有特定的含义,模型准确地反映了语言


+公元前1年。下面是斯科特·米利特(Scott Millett)和尼克·图恩(Nick Tune)的一段话:

在第4章“模型驱动设计”中,我们将向您介绍无处不在的语言(UL)的概念以及在没有语言歧义的环境中定义的模型的重要性。上下文是指模型的具体职责,它有助于分解和组织问题空间。有界上下文通过将模型封装在责任边界内,将模型的概念进一步融入上下文中。这个边界是一个具体的技术实现,而不是更抽象的上下文。受限上下文以不降低模型纯度的方式强制通信

有界语境首先是语言的边界。[……]

在明确限定的上下文中说普遍存在的语言

在Explore DDD 2018(丹佛)上,Eric Evans说:

DDD是一套指导原则:

  • 关注核心领域
  • 在领域从业者和软件从业者的创造性协作中探索模型
  • 在明确限定的上下文中说普遍存在的语言

这不仅是DDD创始人对DDD的一个极其简洁的总结,而且第三条原则清楚地解释了“无处不在的语言”和“有限的语境”之间的联系。注意,他说的是“一种”无处不在的语言,而不是“世界”。可以有多个,但每个都在不同的有界上下文中。

谢谢Alexey-你的答案非常有用,正是我想要的!“语境就是王者”@WalterMacambira:)我需要在我的演讲中添加一个链接来回答这个问题