Где преобразовать DTO в ViewModel?

Я унаследовал проект MVC2, используя довольно стандартный и хорошо сохранившийся шаблон DDD. Я также много читал о дебатах о DTO/ViewModel.

В настоящее время наши DTO часто используются как ViewModels . Честно говоря, это не имеет значения для того, что мы делаем, но я хотел бы использовать правильные ViewModels при обновлении сайта.

Вот мой вопрос:

Модели нашего «доменового» проекта в настоящее время содержат сущности и возвращают DTO моим контроллерам. Теперь мне нужно сопоставить этот DTO с ViewModel. Где я должен это сделать?

  • Прямо в контроллере?
  • В доменном проекте?
  • В другом месте?

Я храню свои ViewModels вместе с представлениями в нашем «Web» проекте, поэтому мне кажется неправильным преобразовывать DTO -> ViewModel в доменный проект. Также кажется неправильным делать это в контроллере.

Что сделали другие?

Изменить:

Этот вопрос/ответ предлагает обрабатывать его в контроллере. Конечно, легко переосмыслить это.

17
задан Community 23 May 2017 в 12:25
поделиться