DDD - 实现专注于域隔离的数据库

时间:2012-02-29 17:43:52

标签: database-design domain-driven-design relational-database

如果我有一个使用带有少量域名的DDD的应用程序,我会希望它们不要直接相互依赖,对吗?因此,举例来说,在我的域名Car中,我将Tire作为值对象,而不是对域轮胎的引用。在这个虚构的领域,同样会发生汽车及其发动机。

这样,我如何在数据库级别保持隔离?如果我使用传统的关系数据库实现,我会依赖它,因为它有点争议。

另外,如果你可以指出一些关于数据库实现的文章作为DDD方法的反射,请这样做。

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为您可能将DDD身份的概念与数据库身份混合在一起。如果您碰巧将轮胎和引擎放在单独的表中,则可能需要标识列,但这并不意味着它们将具有概念性 DDD标识。从DDD角度来看,它们仍然可以是Value Objects(没有概念身份)。

答案 1 :(得分:1)

Araujo的,

如果您的数据库管理系统支持,您可以在模式上隔离很多表,就像我们使用面向对象方法的分层系统一样。

但请记住,Domain Driven Design用于面向对象应用程序(而不是数据库)中的域建模。

Umforteabraço。