【发布时间】:2016-02-26 15:48:59
【问题描述】:
我需要调用第三方 API 来获取最终将保存在我的数据库中的数据。
在处理我的数据库中的数据时,我通常在Domain 中声明存储库接口,并在Data 中添加实际实现。
我的问题是 - 我应该对这些第三方 API 调用做同样的事情吗?毕竟是数据,只是我是从其他来源获取的。
【问题讨论】:
-
是的,依赖于基础架构细节的实现应该在基础架构下,而它们的接口在域中定义。
我需要调用第三方 API 来获取最终将保存在我的数据库中的数据。
在处理我的数据库中的数据时,我通常在Domain 中声明存储库接口,并在Data 中添加实际实现。
我的问题是 - 我应该对这些第三方 API 调用做同样的事情吗?毕竟是数据,只是我是从其他来源获取的。
【问题讨论】:
正如 plaxl 所说(并进一步扩展),您的 Data 包/模块听起来有时被称为基础架构、插件或适配器(如果您使用的是六边形架构,则为最后一个)。
正如您所提到的,您仍然需要定义一个接口和代表该数据的域对象。该接口通常是域服务而不是存储库。
或者,您可以跳过域接口并拥有一个直接从存储库实现中使用的具体对象。
【讨论】: