【问题标题】:In DDD application layer service name for aggregate should be plural or singular?在 DDD 应用层中聚合的服务名称应该是复数还是单数?
【发布时间】:2017-09-09 01:06:12
【问题描述】:

在 DDD 中,我正在为应用层中的每个聚合创建一个服务,并在服务之前添加聚合名称。服务目的是提供 CRUD 操作,并在域层聚合调用任何与域相关的功能。

此类应用程序服务名称是否应包含复数或单数的聚合名称,例如ProductServiceProductsService?

【问题讨论】:

  • 传统上是单数,但有那么重要吗?

标签: domain-driven-design


【解决方案1】:

在创建一些为其他对象提供某些服务的服务提供者时,使用单数名称并且在命名上更具体,您的 ProductService 名称不表达对象的用途。例如,将服务命名为 ProductPriceCalculator 或 ProductShippingInfoValidator,这是服务,应该有单一的职责(目的)

【讨论】:

    【解决方案2】:

    大部分时间都是单数。另见这篇文章:

    https://softwareengineering.stackexchange.com/questions/103720/classes-naming-singular-or-plural

    但是,当您的特定聚合代表整个集合时,我会补充说复数是合理的。

    【讨论】:

    • 是的,复数是有意义的,因为聚合代表集合。
    • @Shifatullah 不要忘记您的服务也应该以动作(动词)命名。例如:ContractsCreation
    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 2012-07-01
    • 2023-04-07
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    相关资源
    最近更新 更多