我应该为每个域在 DDD 中有一个单独的数据库吗?EF MVC codefirst
Should i have for each Domain a separate database in DDD?EF MVC codefirst
我是 DDD 的新手。
我有一个包含 6 个域的项目。
在每个域中我都有我的 inf 和应用程序 layer.My 问题是关于我的 database.I 首先使用 entity framework 代码(MVC ASP)。
我应该为每个域创建一个单独的数据库吗?
您设法将应用程序拆分为多个限界上下文 (BCs
),每个域(子域)一个。这是完美的情况。
在这种情况下,您应该为每个限界上下文拥有单独的数据库(或至少单独的 tables/collections)。为了从一个 BC
到另一个 BC
共享数据,您应该使用 Context mapping 战略 DDD 模式来查看什么是最好的技术(取决于您的架构,您可以使用反腐败层在上游和下游之间共享数据 BC
)。
详细了解 here BCs
之间的集成类型。
PS。在 Vaughn Vernon 的 Domain-Driven Design Distilled 一书中,您可以找到一些集成示例。
我是 DDD 的新手。
我有一个包含 6 个域的项目。
在每个域中我都有我的 inf 和应用程序 layer.My 问题是关于我的 database.I 首先使用 entity framework 代码(MVC ASP)。 我应该为每个域创建一个单独的数据库吗?
您设法将应用程序拆分为多个限界上下文 (BCs
),每个域(子域)一个。这是完美的情况。
在这种情况下,您应该为每个限界上下文拥有单独的数据库(或至少单独的 tables/collections)。为了从一个 BC
到另一个 BC
共享数据,您应该使用 Context mapping 战略 DDD 模式来查看什么是最好的技术(取决于您的架构,您可以使用反腐败层在上游和下游之间共享数据 BC
)。
详细了解 here BCs
之间的集成类型。
PS。在 Vaughn Vernon 的 Domain-Driven Design Distilled 一书中,您可以找到一些集成示例。