首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当模型与聚合根目录(如配置表)无关时,我将模型放在何处

当模型与聚合根目录(如配置表)无关时,我将模型放在何处
EN

Stack Overflow用户
提问于 2020-09-01 04:21:04
回答 1查看 24关注 0票数 0

我有一个名为reward的微服务。当客户在不同的微服务中进行特定的活动(花费了特定的金额)时,该服务将发布一个事件,比如SpentRewardingMoney

在奖励服务中,我的聚合根是Customer

代码语言:javascript
复制
public class Customer: Entity, IAggregateRoot
{
   // some properties

   public List<CustomerReward> UserRewards { get; private set; } // rewards already given
}

现在在SpentRewardingMoneyConsumer中,我必须给那个客户奖励。

问题是,为了简化,有一些配置,假设有一个表RewardRule(奖励金额,是奖励活动等)来支付奖励。根据DDD规则,我必须通过聚合根拉取所有内容,但此配置不是聚合根的一部分。

我该如何从数据库中取出这个表呢?

EN

回答 1

Stack Overflow用户

发布于 2020-09-04 05:55:19

奖励可以从数据库或您使用的任何其他持久性加载。它将通过存储库加载。你问题的另一部分是:它应该存在于你的模型中的什么位置?

这取决于您的普遍语言(UL)。根据我的理解,听起来“奖励金额”和“奖励有效”都是客户奖励对象的值。(这是基于我对您的需求和UL的猜测而得出的有根据的猜测)。

奖励也可以是它自己的合计(也取决于UL)。在这种情况下,在同一上下文中的聚合之间的通信是直接的。在这种情况下,您可以使用服务来简化交互。

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

https://stackoverflow.com/questions/63677677

复制
相关文章

相似问题

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