DDD:我应该在哪个层放置Web服务(既用于服务请求,也用于外部Web引用)?

时间:2015-01-21 18:20:16

标签: web-services domain-driven-design

我正在研究这个层面的层次,我想知道每个层的位置。根据我的理解,我要编写的web服务应该作为新项目放在应用程序服务层中,访问域服务,以便在推送一些新的注册表后提供存储库(web服务将同时提供搜索和插入服务)数据库)。

我想到的第二种可能性是将web服务放入表示层,让它在应用服务层中拥有自己的项目来处理它的请求并访问域服务。

关于外部Web服务,根据我对DDD的理解,webreferences再次应该放在基础架构层和域服务中,通过在域层中具有它的接口的存储库但是放置在基础结构层中,将连接到外部Web服务并触发请求。

有什么想法?我不认为它纯粹基于意见。提前致谢

1 个答案:

答案 0 :(得分:3)

有两种情况。

<强> 1。您有一个可以打电话与您的应用程序进行交互的Web服务

此网络服务“使用”您的应用程序,因此它应位于您的应用程序之外。它只知道您的应用程序层,并与域进行交互,它将调用应用程序层上的方法。

<强> 2。您正在从您的应用程序调用Web服务

在这种情况下,该调用将存在于集成层中。它可以直接通过应用程序层访问,也可以在域层中拥有一个在集成层中实现的接口。这取决于你想要做什么。