所有的类都包含业务逻辑、域对象吗?

Nay*_*qui 4 domain-driven-design business-logic microservices

所以我对将某些东西称为域对象(并最终将类放在域包下)几乎没有怀疑。

我有一个微服务,它的职责是做一些计算(在不涉及实际业务需求的情况下,它所做的只是根据给定的请求计算一些兴趣的回报)。现在为了实现计算,需要进行某些子计算,因此分别在不同的类中组成。但是,是的,这些计算不需要保存在 DB 中,而且它们都没有 ID(所以绝对不是实体或聚合)。然而,这些单独的计算器类(由于缺乏术语)确实包含一些复杂的业务逻辑。现在,我的问题是,这些单独的类是否仍然符合/分类为域对象,还是应该将它们称为服务?

如果需要,请随时要求对用例进行更多说明。

干杯!

Con*_*enu 5

现在,我的问题是,这些单独的类是否仍然符合/分类为域对象,还是应该将它们称为服务

从 DDD 的角度来看,在域层中,可以使用类来实现以下术语:Domain entitiesAggregate roots( 的类型Domain entityValue objectsDomain services

因为你的东西没有Identity他们不能是Domain entitiesAggregate roots。计算可以在Value objects或内完成Domain servicesValue objects包含与值相关的特定行为,因此很可能您的计算是使用Domain services.

根据我的经验,并非每个域类都必须是 DDD 构建块,它们可以只是为了更好的可维护性、单一责任原则(一般为 SOLID)等而提取的类。