Database design 如何在DDD中设计与数据库无关的引用

Database design 如何在DDD中设计与数据库无关的引用,database-design,domain-driven-design,Database Design,Domain Driven Design,在将应用程序分离到数据域并使其独立工作时,不能避免对其他域的引用。虽然来自另一个域的数据应该只能通过API访问,但我找不到一个关于如何正确设计这些域之间的引用的答案,以使它们相互关联 它们是以api为中心的 数据库不可知论 不丢失分组等数据库功能 该图像应该能够直观地显示目标,但这里的正确方法是什么?当多个系统必须相互交互时,我建议使用来存储它们之间的引用 根据它的描述,guid用于全局唯一地标识某个东西,而不管它是什么以及它存储在哪里。如果您有多个系统将数据存储在不同的位置,并且需要合并

在将应用程序分离到数据域并使其独立工作时,不能避免对其他域的引用。虽然来自另一个域的数据应该只能通过API访问,但我找不到一个关于如何正确设计这些域之间的引用的答案,以使它们相互关联

  • 它们是以api为中心的
  • 数据库不可知论
  • 不丢失分组等数据库功能


该图像应该能够直观地显示目标,但这里的正确方法是什么?

当多个系统必须相互交互时,我建议使用来存储它们之间的引用

根据它的描述,guid用于全局唯一地标识某个东西,而不管它是什么以及它存储在哪里。如果您有多个系统将数据存储在不同的位置,并且需要合并/分组它们并确保它们的唯一性,请使用guid。它们是:

  • 跨表、数据库和服务器的独特功能,因此您可以安全地 连接/合并存储在不同位置的数据
  • 可预测,无需在表中插入即可生成
  • 如果多个系统正在注册,则无需中央机构 例如,订单,需要与他们共享,没有必要 有一个中心位置来控制它们是否重复
  • 人类/邪恶机器人不能在API猜测中仅仅调用GET方法 IDs,这提高了安全性

您可以阅读更多。

那么您的问题是什么?