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

Database design DDD-实现专注于域隔离的数据库,database-design,domain-driven-design,relational-database,Database Design,Domain Driven Design,Relational Database,如果我有一个应用程序使用DDD和几个域,我希望它们不直接相互依赖,对吗?因此,例如,在我的域汽车中,我将轮胎作为值对象,而不是对域轮胎的引用。同样,在这个想象的领域,汽车及其发动机也会发生同样的情况 这样,如何在数据库级别保持这种隔离?如果我使用传统的关系数据库实现,我会有依赖性,这有点争议 另外,如果您可以指出一些关于数据库实现的文章,作为DDD方法的反射,请这样做 谢谢大家! Araujo 如果您的数据库管理系统支持,您可以隔离模式上的许多表,就像我们对使用面向对象方法的分层系统所做的那样

如果我有一个应用程序使用DDD和几个域,我希望它们不直接相互依赖,对吗?因此,例如,在我的域汽车中,我将轮胎作为值对象,而不是对域轮胎的引用。同样,在这个想象的领域,汽车及其发动机也会发生同样的情况

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

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

谢谢大家!

Araujo

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

但请记住,领域驱动设计是用于面向对象应用程序内部的领域建模(而不是数据库)

阿布拉索的特长

Araujo

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

但请记住,领域驱动设计是用于面向对象应用程序内部的领域建模(而不是数据库)


我认为您可能将DDD身份的概念与数据库身份混为一谈。如果您碰巧将轮胎和发动机放在单独的表中,它们可能需要一个标识列,但这并不意味着它们将具有概念上的DDD标识。从DDD的角度来看,它们仍然可以是值对象(没有概念标识)。

我认为您可能将DDD标识的概念与数据库标识混为一谈。如果您碰巧将轮胎和发动机放在单独的表中,它们可能需要一个标识列,但这并不意味着它们将具有概念上的DDD标识。从DDD的角度来看,它们仍然可以是值对象(没有概念标识)。

是的,我正在考虑按照您描述的方式使用模式。但是假设我有一张有轮胎的桌子和一张有汽车的桌子。参考汽车表上的4个轮胎将不利于这种隔离。然后,解决方案将有两个轮胎表(假设我需要一个域轮胎),一个用于实体,另一个用于汽车域上的轮胎值对象,相关轮胎数据将复制到其中?我试图不将DDD与数据库混合,但数据库将是一个结果,所以…是的,我正在考虑按照您描述的方式使用模式。但是假设我有一张有轮胎的桌子和一张有汽车的桌子。参考汽车表上的4个轮胎将不利于这种隔离。然后,解决方案将有两个轮胎表(假设我需要一个域轮胎),一个用于实体,另一个用于汽车域上的轮胎值对象,相关轮胎数据将复制到其中?我不想把DDD和数据库混为一谈,但数据库将是一个结果,所以。。。