【发布时间】:2017-07-11 00:44:38
【问题描述】:
如果要开发一个 http 代理应用程序,例如实现速率限制器和数据预处理,用于内部微服务和第三方 API 的通信。我希望这个应用程序适合 Clean Architecture 框架。我在这种情况下看到了一个重大问题:第三方 API 调用者直观地属于最低级别的抽象,即 entitys(例如,一种创建实体的方式),但它使用 http 客户端,看起来是多余的该层的依赖关系。
应用程序的纯数据流如下所示:
- 接收来自客户端的请求(http、amqp...)
- 编写第三方 API 查询 url
- 使用速率限制调用 API
- 预处理获得的数据
- 将预处理后的数据返回给客户端
我应该将客户端(API 调用者)及其对第三方 API 的所有调用放在哪里?应该是实体还是控制者?
【问题讨论】:
标签: architecture domain-driven-design ddd-repositories