DDD:我应该在哪一层放置 web 服务(同时为外部请求和 web 引用提供服务)?
DDD: In which layer should i place webservices (both to serve requests and webreferences to external ones)?
此刻我正在研究图层,我想知道每个图层应该放在哪里。根据我的理解,我将要编写的 web 服务应该作为应用程序服务层中的新项目放置,访问域服务以便在通过它推送一些新注册表时提供存储库(web 服务将同时提供搜索和插入服务数据库)。
我想到的第二种可能性是将 web 服务放在表示层中,在应用程序服务层中拥有自己的项目来处理它的请求和访问域服务。
关于外部 web 服务,web 引用,再一次,根据我对 DDD 的理解,应该放在基础设施层和域服务中,通过一个在域层中有它的接口但被放置的存储库在基础设施层,将连接到外部网络服务并触发请求。
有什么想法吗?我不认为这纯粹是基于意见。提前致谢
有两种情况。
1。您有一个 Web 服务,有人可以调用它来与您的应用程序交互
此网络服务“使用”您的应用程序,因此它应该位于您的应用程序之外。它将 只知道您的应用层 并与域交互,它将调用应用层上的方法。
2。您正在从您的应用程序调用 Web 服务
在这种情况下,调用将存在于集成层中。它可以直接通过应用层访问,也可以在领域层中有一个接口,在集成层中实现。这取决于您要执行的操作。
此刻我正在研究图层,我想知道每个图层应该放在哪里。根据我的理解,我将要编写的 web 服务应该作为应用程序服务层中的新项目放置,访问域服务以便在通过它推送一些新注册表时提供存储库(web 服务将同时提供搜索和插入服务数据库)。
我想到的第二种可能性是将 web 服务放在表示层中,在应用程序服务层中拥有自己的项目来处理它的请求和访问域服务。
关于外部 web 服务,web 引用,再一次,根据我对 DDD 的理解,应该放在基础设施层和域服务中,通过一个在域层中有它的接口但被放置的存储库在基础设施层,将连接到外部网络服务并触发请求。
有什么想法吗?我不认为这纯粹是基于意见。提前致谢
有两种情况。
1。您有一个 Web 服务,有人可以调用它来与您的应用程序交互
此网络服务“使用”您的应用程序,因此它应该位于您的应用程序之外。它将 只知道您的应用层 并与域交互,它将调用应用层上的方法。
2。您正在从您的应用程序调用 Web 服务
在这种情况下,调用将存在于集成层中。它可以直接通过应用层访问,也可以在领域层中有一个接口,在集成层中实现。这取决于您要执行的操作。