我正在快速阅读领域驱动设计,而我无法理解某些内容。
当作者谈到Entities
,Value Objects
和Services
时,他是在谈论Domain Model
(我的意思是,概念),还是已经谈到了实施?
什么是Service
?一个Controller
?一个静态类?
在p38上可以看到:
当一个重要的过程或 域中的转换不是一个 实体或实体的自然责任 Value Object,添加一个操作 model作为独立接口 声明为服务。定义 界面的语言 模型并确保操作 名称是无所不在的一部分 语言。使服务无国籍。
从本文中,我可以得出结论:
a)如果Service
是无状态的,则不能是Controller
。它是静态类/ Singleton
吗?
b)他对Interface
的意思是什么?我知道编码时接口是什么,但如果他在讨论接口,他必须已经在谈论类图等等而不是关于Domain Model
?
我感到很困惑,任何人都可以清楚这一点吗?
由于
答案 0 :(得分:5)
DDD的核心重点是理解和清晰度 - 之后会有实施细节。
域服务基本上是一个包含业务逻辑的类。它不必是静态或单例(这里有机会阅读依赖注入和服务定位器)。术语无状态也会重载:在此上下文中,它意味着服务不应像实体那样。
接口描述了域服务的方法。具体来说,'给方法提供有意义的名称 - 对商务人士有意义的名称'。
不幸的是,术语服务也会超载。有关说明,请参阅我的回答here。