我们正在启动一个新项目,并尝试实现领域驱动设计中的一些概念。我们计划有以下层:
- 网络界面 (WebAPI)
- 应用服务(图书馆)
- 领域服务(图书馆)
- 数据访问服务(图书馆)
我们正在考虑将 Web 界面和应用程序服务合并在一起。因此,我们的 webAPI 将与存储库、领域模型和领域服务对话。
这样好吗?还是我们应该有单独的项目形式的应用程序服务,WebAPI 应该只与应用程序服务通信?
谢谢
请您参考如下方法:
HTTP 应被视为访问您的应用程序服务的潜在众多访问端口之一。如果您可以完全确定您永远不必通过除 HTTP 之外的其他通信 channel 与您的应用程序对话,那么我会说最好不要有一个单独的应用程序层。
但是,我还要说,很难预测应用程序需求将如何演变,因为添加一个额外的间接层来立即隔离应用程序层的成本应该不会很高(这只是委托(delegate)),这就是我的想法会做的。
