在域驱动设计中使用外部API调用作为数据源

时间:2018-01-27 20:31:35

标签: domain-driven-design

我有一个双层应用程序,其底层用于从外部API收集数据并将其添加到数据库,第二层用于从数据库返回数据,该数据基于我从外部API调用中收集的数据。 所以我设法将外部API调用放在基础结构存储库中,并在域中使用它们的接口。 因此,一般而言,我完全陷入困境的是保存我正在数据库中收集的数据而不在域中创建此数据的模型,因为此数据可靠地依赖于外部API我希望将这两个层完全分开收集数据并返回其他数据而不违反域驱动设计的原则。

1 个答案:

答案 0 :(得分:1)

我将在这里尝试回答的是DDD如何帮助并强调在您应用一些DDD原则来找到有用的设计和适当的实现后,导入是一个实现细节。

因此,您需要为您的App / Bounded上下文提供必须生成统计信息的数据(如果您可以在此处添加更多业务语言,DDD将更加有用)。这个应用程序的业务用途是什么?什么是语言(无处不在的语言)和边界(BC)?如何与其他上下文互操作(Context Mapping)。

您需要实现此模型,在这里您可以使用定义的概念并定义持久性模型(可能API中使用的语言不是您的应用程序使用的语言),您可能还需要一些验证导入数据期间的业务规则。因为您可能会定义确保系统完整性的聚合,所以我在这里推测。但这是我应用DDD的方式,并指出我们无法应用DDD导入。但导入可能是一个实现细节。