Où pour convertir un DTO à ViewModel?

J'ai hérité d'un MVC2 projet à l'aide d'un assez standard et décemment bien gardé DDD modèle. J'ai fait beaucoup de lecture sur l'ensemble de la DTO/ViewModel débat ainsi.

Actuellement notre Otd sont souvent utilisés comme Viewmodel. Honnêtement ne pas faire une différence pour ce que nous faisons, mais j'aimerais utiliser de façon appropriée les ViewModels que nous mettons à jour le site.

Voici ma question:

Notre "domaine" du projet modèles détiennent actuellement les entités et retour Otd à mes contrôleurs. Maintenant, j'ai besoin de carte que DTO à un ViewModel. Où dois-je le faire?

  • Droit dans le contrôleur?
  • Dans le domaine du projet?
  • Ailleurs?

Je vais garder mon Viewmodel aux côtés de la vue dans notre "Web" projet de sorte qu'il se sent mal à convertir DTO -> ViewModel dans le domaine du projet. Il se sent aussi mal à le faire dans le contrôleur.

Ce que d'autres ont-ils fait?

Edit:

Cette question/réponse suggère de le manipuler dans le contrôleur. C'est sûr qu'il devient facile de réfléchir à cela.

  • Que voulez-vous dire DTO ici? est-ce que votre modèle de domaine?
  • pour moi: DTO == "Objet de Transfert de Données" à la mode que la plupart des gens discuter de l'Otd dans le domaine de la .NET/Java et DDD. Je suis encore à apprendre tout cela, donc je ne sais pas quoi dire d'autre!
  • J'ai encore de la confusion, je suppose DTO que vous mentionnez est l'ENTITÉ de DOMAINE? parce que DTO est lui-même "Objet de Transfert de Données" de travail dans la couche de Distribution. DTO et le Modèle de Vue est un peu le même niveau, si vous travaillez dans le service de la top modèle appelé DTO, si vous travaillez dans l'application, modèle haut de l'appeler Modèle de Vue