Tengo las siguientes capas en mi solución:
- App.Domain
- App.Service
- App.Core (tal vez llame a este App.DataLayer)
- App.Web
El patrón de diseño del software no es mi pregunta, tengo el siguiente modelo en Domain
public class Foo {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Quiero usar este modelo en la vista (por ejemplo, página de inicio) Y quiero usar Id, Name & Value
, así que si quiero crear ViewModel, agregaré lo siguiente:
public class FooViewModel {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Entonces, ¿es buena idea? o simplemente usar en Foo
lugar de FooViewModel
?
Model
se pasa generalmente a laView
? ¿Por qué exactamente necesita recrear los campos deModel
en elView
? Si el objetivo es la separación de las preocupacionesMVC
, ¿en qué circunstancias querría hacer lo mismo conModel
yView
? SiViewModel
es ambos, ¿por qué no extendiendo / componiendo ambosModel
yView
?