被混淆之后再阅读有关这反模式和许多关切它在这里这样。

如果我有一个领域模型和捕获数据,必须保存在数据传送对象,并使我域模型包装的数据?在这种情况下,我将使用贫血域模型。但是,如果我加足够域逻辑上,包装,在什么时候它不会成为一个真正的领域模型,然后呢?

我得到的印象是,捕获了什么必须保持在一个领域模型的违反良好做法和创建的贫血域模型反的模式。但如果你使用一个关系DB有没有办法避免出的一部分,使国家的对象和保存。

因为我很困惑的概念,我不知道,我写的东西有意义的。随时要求澄清。

有帮助吗?

解决方案

当它包含组成业务领域的所有(或大多数)行为时,它将成为一个“真正的”域模型(请注意,我强调业务逻辑,而不是UI或其他正交问题。)

如果您正在使用无处不在的语言,并从域专家获取持续反馈,您就会知道自己是在正确的轨道上(专家应该在他们看到您的域模型时点头)。如果你没有做这些事情,你就不会做DDD( Eric Evans谈论它)。

到了DTO的角度:不要忽视它们。从实现的角度来看,您需要它们在层/层之间传送数据。如何组合DTO和真正的域对象实际上取决于您正在使用的技术。

正如之前的回答中所提到的,也许您对数据持久性的关注会让您分心 true 域建模...

其他提示

两个项目的兴趣来到我的心灵:

  • 数据传的对象(交互)不同领域的对象。他们为不同的目的,在不同的地方在一个结构-不要混淆。领域对象提供一个 丰富的API高凝聚力.交互是 被动的数据结构 在应用程序中使用的外部界-很喜欢UI这个例子,但旨在自动化系统,而不是用户。
  • 努力之后,选择对象,允许你这样做使用 持久性的无知.这意味着你可以定义领域模型在一个无边界的方式,并且只有奥姆地图的对象,一个关系数据库。
  

但是,如果我在该包装器上添加足够的域逻辑,那么它在什么时候成为真正的域模型呢?

通过以随意方式添加内容来到达域模型是可能的,但肯定不是域驱动的设计。 (我知道这不是真的有用。我倾向于认为自己非常以数据为中心,在某些情况下,需要付出真正的努力才能从这个角度出发。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top