我应该使用我的ORM生成的对象作为我的域对象吗?

use*_*034 3 architecture orm domain-driven-design domain-object

我的ORM生成反映数据库表结构的对象.这个对象是可扩展的,所以我可以添加新的属性和方法.这个对象不包含任何持久性逻辑,所以我猜它们是持久无知的.

我应该使用此对象作为我的域对象还是应该为主域模型创建新对象?

作为创建新对象的专家,我会考虑当数据库表发生更改时,它不会破坏应用程序.

作为创建新对象的骗局,我会考虑额外的映射和应用程序中的更多复杂性.

Rus*_*est 5

而不是使用ORM以与DB看到数据的方式相关的形式从数据库中提取数据,而是创建域对象以实际匹配您的域,然后使用ORM以任何方式将域对象持久保存到数据库中数据库需要.

换句话说,你正在倒退.首先获取域模型,然后让您的ORM担心如何将它们保存到数据库中.

  • +1。当您确实需要独立时,使用 ORM 类作为域模型会将您与 ORM 联系起来。 (2认同)