这是聚合根。收件人还是费用? DDD

问题描述 投票:0回答:1

我正在创建一个应用程序来分析我的费用。我想以DDD方式实施。我的2个主要实体是:对方部分(收件人/发件人)和费用(成本/收入)

class diagram

[将CounterPart作为总根似乎是合乎逻辑的,但我需要直接对Expense进行很多操作,就像将其标记为每日,每月或......支出。

我只能使用counterPart付费进行互动吗?

domain-driven-design one-to-many aggregateroot
1个回答
0
投票

Aggreggate Root中的DDD由您的业务需求决定。在确定您的总根之前,您需要对业务有很好的了解。

在您的情况下,CounterPartExpense之间存在一对多的关系。 Expense可以存在于CounterPart之外吗?如果不是,那么将CounterPoint作为您的Aggreggate Root可能很有意义。

如果需要操纵Expense,则需要在AddExpenseToCounterPart上公开诸如SetExpenseToDailyCounterPart等操作。

但是,如果您的Domain很简单(或anaemic)却没有任何复杂的业务规则。我会问为什么还要使用DDD?

© www.soinside.com 2019 - 2024. All rights reserved.