首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >域驱动设计聚合根设计

域驱动设计聚合根设计
EN

Stack Overflow用户
提问于 2013-10-29 08:31:54
回答 1查看 168关注 0票数 1

嗨,我正在尝试在一个简单的类集群上做DDD。

举个例子。

我有渠道和出借人。

渠道=渠道A,渠道B贷款人=银行A,银行B,银行C

通道A有银行A,B通道B有银行B,C

在这种情况下,我该如何设计我的聚合根?

聚合id是否应该是特定于银行的?或者它应该是特定于渠道的?

在我的其他聚合中,我只想知道它是ChannelA-BankA还是ChannelB-BankC,也就是一个唯一的Id。

在我看来,我可以让Channel成为聚合根实体,或者使Bank成为聚合根实体,这不会有什么不同吗?他们是一对一的关系。

或者我应该创建一个顶级类作为根并引用Channel和Bank?

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-10-29 12:18:45

聚合设计总是很棘手的,你对领域的理解越好,它就会变得越容易。对于一个局外人来说,帮助是相当困难的(或不可能的) :)

但请记住,这不一定是“哪一个是聚合?”在您的例子中,很可能两者都是聚合,您可以通过值对象(VO)或Ids将它们链接起来。例如,您可以使用带有ChannelLender VO的Channel,并且在那些具有Channel/Bank链接的“其他”聚合中,您可以使用其他VO,并且由于已经使用了ChannelLender,因此您需要来自代表该概念的普遍存在语言(UL)的名称。

希望这会有些许帮助。

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

https://stackoverflow.com/questions/19647590

复制
相关文章

相似问题

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