关于服务的领域驱动设计问题

时间:2010-07-18 01:50:00

标签: oop domain-driven-design

我正在快速阅读领域驱动设计,而我无法理解某些内容。

当作者谈到EntitiesValue ObjectsServices时,他是在谈论Domain Model(我的意思是,概念),还是已经谈到了实施?

什么是Service?一个Controller?一个静态类?

在p38上可以看到:

  

当一个重要的过程或   域中的转换不是一个   实体或实体的自然责任   Value Object,添加一个操作   model作为独立接口   声明为服务。定义   界面的语言   模型并确保操作   名称是无所不在的一部分   语言。使服务无国籍。

从本文中,我可以得出结论:

a)如果Service是无状态的,则不能是Controller。它是静态类/ Singleton吗?

b)他对Interface的意思是什么?我知道编码时接口是什么,但如果他在讨论接口,他必须已经在谈论类图等等而不是关于Domain Model

我感到很困惑,任何人都可以清楚这一点吗?

由于

1 个答案:

答案 0 :(得分:5)

DDD的核心重点是理解和清晰度 - 之后会有实施细节。

域服务基本上是一个包含业务逻辑的类。它不必是静态或单例(这里有机会阅读依赖注入服务定位器)。术语无状态也会重载:在此上下文中,它意味着服务不应像实体那样。

接口描述了域服务的方法。具体来说,'给方法提供有意义的名称 - 对商务人士有意义的名称'。

不幸的是,术语服务也会超载。有关说明,请参阅我的回答here