【发布时间】:2017-09-09 01:06:12
【问题描述】:
在 DDD 中,我正在为应用层中的每个聚合创建一个服务,并在服务之前添加聚合名称。服务目的是提供 CRUD 操作,并在域层聚合调用任何与域相关的功能。
此类应用程序服务名称是否应包含复数或单数的聚合名称,例如ProductService 或 ProductsService?
【问题讨论】:
-
传统上是单数,但有那么重要吗?
在 DDD 中,我正在为应用层中的每个聚合创建一个服务,并在服务之前添加聚合名称。服务目的是提供 CRUD 操作,并在域层聚合调用任何与域相关的功能。
此类应用程序服务名称是否应包含复数或单数的聚合名称,例如ProductService 或 ProductsService?
【问题讨论】:
在创建一些为其他对象提供某些服务的服务提供者时,使用单数名称并且在命名上更具体,您的 ProductService 名称不表达对象的用途。例如,将服务命名为 ProductPriceCalculator 或 ProductShippingInfoValidator,这是服务,应该有单一的职责(目的)
【讨论】:
大部分时间都是单数。另见这篇文章:
https://softwareengineering.stackexchange.com/questions/103720/classes-naming-singular-or-plural
但是,当您的特定聚合代表整个集合时,我会补充说复数是合理的。
【讨论】: