如果涉及访问外部API(域驱动设计),我应该在哪里放置值对象创建逻辑]] << [

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果涉及访问外部API(域驱动设计),我应该在哪里放置值对象创建逻辑]] << [相关的知识,希望对你有一定的参考价值。

我有一个实体,假设它是UserAccount。 UserAccount具有一个值为MembershipID的值对象。 MembershipID成为值对象,因为其中包含一些业务逻辑,而不仅仅是一个字符串。但是这里有一个棘手的情况。

要生成会员ID,我需要输入一个随机字符串和创建用户帐户的时间戳。然后,这两个值将发送到外部REST API,并且其成功响应将包含MembershipID。

此值对象的创建逻辑涉及外部API调用,这属于基础结构层。我首先想到了Factory和Repository作为放置此创建逻辑的位置,但是这两个对象用于实体,而不是值对象。因此,我应该把价值对象的创建逻辑放在哪里,而不违反DDD?

我有一个实体,假设它是UserAccount。 UserAccount具有一个值为MembershipID的值对象。 MembershipID成为值对象,因为其中包含一些业务逻辑,而不仅仅是...

答案
基本思想:应用程序(不是

域模型

以上是关于如果涉及访问外部API(域驱动设计),我应该在哪里放置值对象创建逻辑]] << [的主要内容,如果未能解决你的问题,请参考以下文章

在域驱动设计中使用外部 Web 服务

在 DDD 中将存储库实现保存在哪里?

在具有多个数据库的域驱动设计DDD上添加项目的最佳方法是什么?

领域驱动设计中层之间的数据传输对象

域驱动设计:如何访问聚合根的子节点

领域驱动设计和工厂类的作用