Tenho as seguintes camadas na minha solução:
- App.Domain
- App.Service
- App.Core (talvez você chame este de App.DataLayer)
- App.Web
O padrão de design de software não é minha pergunta. Tenho o seguinte modelo Domain
public class Foo {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Quero usar esse modelo na visualização (por exemplo, página inicial) E quero usar Id, Name & Value
, portanto, se eu quiser criar o ViewModel, adicionarei o seguinte:
public class FooViewModel {
public int Id {get;set;}
public int Name {get;set;}
public int Value {get;set;}
}
Então, essa é uma boa ideia? ou apenas usar em Foo
vez de FooViewModel
?
Model
geralmente passado para oView
? Por que exatamente você precisa recriar os campos doModel
noView
? Se a separação de preocupações é uma metaMVC
, em que circunstâncias alguém gostaria de fazer a mesma coisa comModel
eView
? SeViewModel
são ambos, por que não estendendo / compondo ambosModel
eView
?