Lo he visto por todas partes SO, blogs y libros, donde los autores dicen que agregue ViewModels específicos para su Vista en sus proyectos de modelo como envoltorios para sus objetos de modelo subyacentes. La idea es hacer que sea muy simple y específico cuando vaya a hacer el enlace del modelo a la Vista. Aquí hay un buen ejemplo: Rendering and Binding Drop Down Lists using ASP.NET MVC 2 EditorFor¿El uso de ViewModels y las referencias a System.Web.Mvc violan el patrón MVC?
Sin embargo, me molesta un poco que haya referencias ahora a System.Web.Mvc en mi modelo, que de otro modo podrían haber sido utilizadas para múltiples tomas (tal vez WCF API, Silverlight, etc.), pero ahora tengo referencias específicas a las dll de MVC que serán necesarias para construir mi modelo de proyecto.
Mi pregunta es: ¿esto viola los patrones MVC cuando comenzamos a agregar IEnumerable<SelectListItem>
a nuestras clases modelo? ¿Y hay una capa alternativa viable para mover esto ay cómo, es decir, Controlador?
Cualquier pensamiento o comentario apreciado.
eche un vistazo al proyecto de ejemplo de mvc desde aquí http://valueinjecter.codeplex.com/, se realiza sin tener ningún tipo de lógica en los modelos viewmodels – Omu