在具有多个数据库的域驱动设计DDD上添加项目的最佳方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在具有多个数据库的域驱动设计DDD上添加项目的最佳方法是什么?相关的知识,希望对你有一定的参考价值。

解决方案项目

  • API - 包含控制器和公开API
  • 应用程序 - 包含仅适用于API的特定业务规则
  • Common - 包含常量
  • 域 - 它包含使用DDD洋葱架构的实体
  • Infrastructure - 处理外部API事务
  • 持久性 - 域到数据库配置和映射

我的解决方案中有一组项目(见上文),但整个解决方案只能处理1个数据库。现在,我计划整合另一个数据库,在具有多个数据库的域驱动设计DDD上添加项目的最佳方法是什么?

最初,我正在考虑添加另一个pesistence项目,但我认为它将需要域。我不确定将映射到不同数据库的域混合是否正确。有人能告诉我如何处理这个问题吗?

答案

它是一个新数据库或一个新项目的事实根本不重要。您必须将功能转换为无处不在的语言,并立即了解它如何适合您的应用程序。您最终会回答以下问题:*这是一个新功能还是补充现有功能的功能*此功能是否属于此域*是否需要新的实体,聚合和值类型来表达此功能

所有这些DDD问题都不关心序列化是如何发生的。序列化的细节不属于您的域的范围。

以上是关于在具有多个数据库的域驱动设计DDD上添加项目的最佳方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

为啥说DDD是设计微服务的最佳实践?

浅析 DDD 领域驱动设计

浅析 DDD 领域驱动设计

领域驱动设计最佳实践

《领域驱动设计》读书笔记

聚焦领域驱动设计的最佳实践