所以我对将某些东西称为域对象(并最终将类放在域包下)几乎没有怀疑。
我有一个微服务,它的职责是做一些计算(在不涉及实际业务需求的情况下,它所做的只是根据给定的请求计算一些兴趣的返回)。现在为了实现计算,需要进行某些子计算,因此分别在不同的类中组成。但是是的,这些计算不需要保存在 DB 中,而且它们都没有 ID(所以绝对不是实体或聚合)。然而,这些单独的计算器类(由于缺乏术语)确实包含一些复杂的业务逻辑。现在,我的问题是,这些单独的类是否仍然符合/分类为域对象,还是应该将它们称为服务?
如果需要,请随时询问有关用例的更多说明。
干杯!
最佳答案
Now, my question is, do these individual classes still qualify/classify as domain objects or should they be referred to as services
从 DDD 的角度来看,在 Domain 层,有以下术语可以使用类来实现:
Domain entities
, Aggregate roots
(一种 Domain entity
),Value objects
和 Domain services
.因为你的东西没有
Identity
他们不能是 Domain entities
或 Aggregate roots
.可以在内部进行计算Value objects
或 Domain services
. Value objects
包含与值相关的特定行为,因此最有可能 您的计算是使用 Domain services
实现的 .根据我的经验,并不是每个域类都必须是 DDD 构建块,它们可以只是为了更好的可维护性而提取的类、单一责任原则(一般为 SOLID)等。
关于domain-driven-design - 所有的类都包含业务逻辑、域对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47656406/