在域驱动设计中放置第三方API调用的位置?

时间:2016-02-26 15:48:59

标签: domain-driven-design

我需要调用第三方API来获取最终将保存在我的数据库中的数据。

在处理数据库中的数据时,我通常会在Domain中声明存储库接口,并在Data中添加实际的实现。

我的问题是 - 我应该对这些第三方API调用执行相同的操作吗?毕竟这是数据,除了我从其他来源获得它。

1 个答案:

答案 0 :(得分:1)

正如plaxl所说(并且扩展了一点)你的Data包/模块听起来像有时被称为基础设施,插件或适配器(如果你使用六边形架构,那就是最后一个)。

正如您所提到的,您仍然需要定义一个接口和表示该数据的域对象。接口通常是域服务而不是存储库。

或者,您可以跳过域接口并拥有直接从存储库实现中使用的具体对象。