我继承了一个 MVC2 项目,使用了一个非常标准且保存完好的 DDD 模式。我也对整个 DTO/ViewModel 辩论进行了大量阅读。
目前我们的 DTO 经常像ViewModels一样使用。老实说,这对我们正在做的事情没有影响,但我想在升级网站时使用正确的 ViewModel。
这是我的问题:
我们的“域”项目模型当前持有实体并将 DTO 返回给我的控制器。现在我需要将该 DTO 映射到 ViewModel。我应该在哪里做这个?
- 就在控制器里?
- 在域项目中?
- 别处?
我将我的 ViewModel 与我们的“Web”项目中的视图放在一起,因此在域项目中转换DTO -> ViewModel感觉不对。在控制器中这样做也感觉不对。
别人做了什么?
编辑:
这个问题/答案建议在控制器中处理它。这肯定很容易过度思考。