DDD 应用服务领域模型到视图模型映射

DDD Application Service Domain Model to View Model Mapping

我对应用服务的理解是它们link在域和用户界面之间结合在一起。换句话说,它们服务于控制器以在域上执行操作。

我的应用程序中有以下项目布局:

我的 Service Interfaces 位于 Web UI 项目之外。然后在 Web UI 项目中,我在 Services.

下实现服务接口

但是这个结构有点缺陷,当我们付诸实践时会产生循环依赖。我尝试遵循此 link 中的架构:https://www.develop.com/onionarchitecture

对于给定的服务,我想传入视图模型,基于视图模型对域执行操作,然后return更新视图模型。这种做法错了吗?

我的理解是否正确,应用程序服务本质上以视图模型为参数,如果需要更新域和视图模型中的一些细节,然后return一个视图模型?

应用程序服务是否仅将 c# 数据类型和域模型作为参数处理并且 returns 相同的数据类型?换句话说,不获取或设置视图模型中的任何信息。实际上并不知道视图模型的存在。

我只需要澄清一下什么是严格的 DDD 方法的最佳方法。

回答您的问题: 是的你是对的。对于 MVC 应用程序,您可以设计采用 returns ViewModels 的层,并在

内部使用域进行操作

Dino Esposito 提出了很好的解决方案结构示例here. I adopted my project to this structure and it became much clear. My opinion is that onion architecture对于中小型项目来说过于复杂。