Sto usando NHibernate per rendere persistenti i miei oggetti di dominio. Per semplificare le cose, sto usando un progetto ASP.NET MVC sia come livello di presentazione che come livello di servizio.
Voglio restituire i miei oggetti di dominio in XML dalle mie classi controller. Dopo aver letto alcuni post qui su Stack Overflow, ho capito che i DTO sono la strada da percorrere. Tuttavia, mi sono anche imbattuto in post che parlano di ViewModel.
La mia domanda: Data Transfer Objects e ViewModels sono la stessa cosa? Oppure un ViewModel è una sorta di sotto-pattern di un DTO?