Domain driven design 是一个;域对象“;任何表示业务规则的类?

Domain driven design 是一个;域对象“;任何表示业务规则的类?,domain-driven-design,terminology,domain-object,Domain Driven Design,Terminology,Domain Object,我偶然发现了“域对象”这个术语,并在Google上找到了一些定义,但我只是想验证我的理解是否正确 这仅仅是表示业务规则的任何类吗?因为“域”一词通常意味着特定于某些本地问题集的规则,例如如何计算所得税 因此,用于计算所得税的域对象将是您编写的表示所有税收规则的类。这将是一个域服务。域对象将类似于收入或纳税人。该对象可以有一个Taxes属性,该属性调用域服务以根据规则计算应付税款。域对象是表示业务域中给定实体的任何对象。这有几种口味。然而,一般来说,域对象保存数据和任何正在建模的实体的规则。有些人

我偶然发现了“域对象”这个术语,并在Google上找到了一些定义,但我只是想验证我的理解是否正确

这仅仅是表示业务规则的任何类吗?因为“域”一词通常意味着特定于某些本地问题集的规则,例如如何计算所得税


因此,用于计算所得税的域对象将是您编写的表示所有税收规则的类。

这将是一个域服务。域对象将类似于收入或纳税人。该对象可以有一个Taxes属性,该属性调用域服务以根据规则计算应付税款。

域对象是表示业务域中给定实体的任何对象。这有几种口味。然而,一般来说,域对象保存数据和任何正在建模的实体的规则。有些人选择物理上分离这些关注点,以便业务规则不是与数据位于同一对象中的流程。无论您选择什么实现,域对象都以模块化的方式对数据和规则进行逻辑分组。

因此域对象是一个名词;域服务是一个动词。如果我理解你的话,域对象本身不执行任何操作——它只代表一些属性集——它是由域服务执行的。这就是一些人所说的“贫血域模型”。域对象只不过是一个没有明显行为的数据传输对象。这是做事情的一种方法,但决不是唯一的方法。@tom w:域对象可以执行一些操作,但只能执行一些小的计算。对于更复杂的规则,如计算税收,域服务通常是最好的选择@达菲莫:的确,不是唯一的way@Crossbrowser:谢谢。你的描述是对这个术语最普遍的理解吗?@tom w:我不知道,但我在领域驱动设计方面有超过2年的经验,这就是我们如何看待我工作的地方。