DTO = ViewModel?

Estoy usando NHibernate para persistir los objetos de mi dominio. Para simplificar las cosas, estoy usando un proyecto ASP.NET MVC como capa de presentación y como capa de servicio.

Quiero devolver mis objetos de dominio en XML desde mis clases de controlador. Después de leer algunas publicaciones aquí en Stack Overflow, reúno que los DTO son el camino a seguir. Sin embargo, también me he encontrado con publicaciones que hablan sobre el ViewModel.

Mi pregunta: ¿Son los objetos de transferencia de datos y ViewModels la misma cosa? ¿O es un ViewModel un tipo de patrón secundario de un DTO?

Respuestas a la pregunta(7)

Su respuesta a la pregunta