如何在DDD中设计数据库不可知的引用

时间:2015-06-18 15:21:35

标签: database-design domain-driven-design

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

  • 他们是以自我为中心的
  • 数据库不可知
  • 不会丢失分组等数据库功能

enter image description here

图像应该可视化意图,虽然这里的方法是什么?

1 个答案:

答案 0 :(得分:0)

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

根据其描述,GUID用于全局唯一标识某些内容,无论它是什么以及它存储在何处。如果您有多个系统在不同的位置存储数据,并且您需要合并/分组它们并确保它们的唯一性,请使用GUID。他们是:

  • 在表,数据库,服务器之间具有独特性,因此您可以安全地使用 加入/合并您存储在不同位置的数据
  • 可预测,无需在表格中插入即可生成
  • 如果有多个系统正在注册,则无需中央机关 例如,订单需要与他们共享,没有必要 有一个控制是否重复的中心位置
  • 人/邪恶机器人不能只在API 猜测中调用GET方法 ID,提高安全性

您可以阅读更多here