嗨,我正在尝试在一个简单的类集群上做DDD。
举个例子。
我有渠道和出借人。
渠道=渠道A,渠道B贷款人=银行A,银行B,银行C
通道A有银行A,B通道B有银行B,C
在这种情况下,我该如何设计我的聚合根?
聚合id是否应该是特定于银行的?或者它应该是特定于渠道的?
在我的其他聚合中,我只想知道它是ChannelA-BankA还是ChannelB-BankC,也就是一个唯一的Id。
在我看来,我可以让Channel成为聚合根实体,或者使Bank成为聚合根实体,这不会有什么不同吗?他们是一对一的关系。
或者我应该创建一个顶级类作为根并引用Channel和Bank?
有什么建议吗?
发布于 2013-10-29 12:18:45
聚合设计总是很棘手的,你对领域的理解越好,它就会变得越容易。对于一个局外人来说,帮助是相当困难的(或不可能的) :)
但请记住,这不一定是“哪一个是聚合?”在您的例子中,很可能两者都是聚合,您可以通过值对象(VO)或Ids将它们链接起来。例如,您可以使用带有ChannelLender VO的Channel,并且在那些具有Channel/Bank链接的“其他”聚合中,您可以使用其他VO,并且由于已经使用了ChannelLender,因此您需要来自代表该概念的普遍存在语言(UL)的名称。
希望这会有些许帮助。
https://stackoverflow.com/questions/19647590
复制相似问题