DDD 实体的方法在客户端应用程序中应该是什么样子?

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

我应该如何在客户端应用程序的实体中编写方法?

例如,我有一个客户端移动应用程序和一个服务器。服务器包含一些验证和业务逻辑。移动应用程序知道服务器的 API。例如,移动应用程序应该在 /post/{postID} 上调用 POST HTTP 方法并传递一些参数来编辑某些帖子。 Post.edit() 方法应该是什么样子? (哪里调用API?)

我应该将一些PostService传递给Post实体来调用API吗?那么PostService是领域服务吗?

client domain-driven-design entity business-logic
1个回答
0
投票

我应该将一些PostService传递给Post实体来调用API吗?那么PostService是领域服务吗?

不。您不应该将 PostService 传递给 PostEntity。实体必须具有更改其自身实例状态的方法。 PostService 影响任何 PostEntity 实例。

您可能更愿意创建一个 ApplicationService 来集中此逻辑。应用程序服务也称为用例或命令/查询处理程序。基本上,序列图 UML 的实现然后,您的客户端(移动应用程序)将调用这些应用程序服务。

DomainService 和 ApplicationService 都是 DDD 的概念,但它们在语义上是不同的,如果你不知道区别,我建议你看这篇文章

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