首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DDD:有多少个聚合应该有一个有界的上下文?

DDD:有多少个聚合应该有一个有界的上下文?
EN

Stack Overflow用户
提问于 2019-10-21 10:17:21
回答 2查看 5.4K关注 0票数 6

有多少个聚合应该有一个有界上下文?

我之所以问这个问题,是因为来自书籍和其他资源的信息过于宽泛/抽象。

我想,它取决于特定的领域模型及其结构。有多少有界上下文有一个域模型?每个有界上下文中有多少实体。我想,所有这些问题都依赖于这个事实,在一个有界的上下文中应该有多少个聚合。

此外,如果要回忆起坚实的原则和共同的想法,就有小的松散耦合的代码段。我认为,在单个有界上下文中有最大3-4个聚合是很好的。如果在单个有界上下文中有更多的聚合,那么在软件设计中可能会出现一些问题。

我现在正在读弗农关于DDD的书,但是很难理解如何设计这些东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-22 09:49:44

陈词滥调的回答是“只够了,但不多”。对于在一个有限制的上下文中放置多少个聚合没有真正的指导。

驱动聚合和实体的东西是用来描述上下文的无处不在的语言。普遍存在的语言对于每个语境是不同的,在上下文中所需的实体和聚合根可以在语言中使用的名词中找到。一旦你有了语言完全描述的领域,就数出在该语言中有特殊意义的名词,你就有了必要的实体计数。

不过,请记住,我很少遇到“完全描述”的有限上下文。目标是“对此发布的描述足够充分”。因此,对于任何版本,实体的数量都是“不够”的,您可能会计划添加更多的实体。这些计划是否会上升到优先级队列的顶端是另一个问题。

票数 11
EN

Stack Overflow用户

发布于 2019-10-21 12:04:08

有多少个聚合应该有一个有界上下文?

所有聚合应该有一个有界的上下文。您几乎可以反向处理--聚合将存储在单个数据库中,数据库将属于单个(微)服务,服务将服务于单个有界上下文;因此,聚合将属于单个有界上下文。

在事情可能变得混乱的地方:很容易采取一些宽泛的业务概念,比如" order ",并尝试为order创建一个适用于每个有限上下文的单一表示。但这并不是目标--目标是让每个上下文都有一个在这个上下文中工作的顺序表示。

常见的例子:销售、计费、履行都可能关心“订单”,但他们需要共享的信息主要是订单id,它充当了一个相关标识符,以便他们能够协调对话。

见Mauro Servienti:我们所有的人都错了

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58484184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档