域驱动设计聚合根设计

本文关键字: | 更新日期: 2023-09-27 18:37:08

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

举个例子。

我有渠道和贷方。

通道 = 通道 A、通道 B贷方 = 银行 A、银行 B、银行 C

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

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

聚合 ID 应该是特定于银行的?还是应该是特定于渠道的?

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

在我看来,我可以将通道作为聚合根实体,或者银行成为聚合根实体,这不会有什么区别吗? 他们是一对一的关系。

还是应该创建一个顶级类作为根并引用通道和银行?

有什么建议吗?

域驱动设计聚合根设计

聚合设计总是很棘手,你越了解这个领域,它就会变得越容易。 局外人帮忙是相当困难(或不可能)的:)

但请记住,这不一定是"哪一个是聚合"的问题。 在您的情况下,很可能两者都是聚合,并且您通过值对象 (VO) 或 ID 链接它们。 例如,您可以使用ChannelLender VO 进行Channel,并且在您拥有 Channel/Bank 链接的"其他"聚合中,您可以使用其他一些 VO,并且由于已使用ChannelLender,您将需要来自您的无处不在的语言 (UL) 的一些名称来代表该概念。

希望能有一点帮助。

相关文章:
  • 没有找到相关文章