|
Fala Pessoal! Tudo bom? Nesse episódio do Herocast vamos conversar sobre as diferenças entre Domain Model e View Model e aprender a utilizar o AutoMapper para mapeamento automatico de objetos.
Sites do AutoMapperUtilizando AutoMap para mapear View Models em ASP.NET MVCCódigos de exemplo utilizados no vídeo
Se gostou do vídeo, ajude a divulgar! Abraços!
Comentários:
11 Comentários postados em "HeroCast 07 – Domain Model x View Model e AutoMapper"
Edegilson S. Silva on dezembro 8th, 2011 at 13:08 #
Fala Denis, tranquilo? Antes de tudo, parabéns pelo post e pelo blog, muito bacana. Não sei quase nada de DDD e estou aprendendo MVC, mas não entendi muito bem esse cenário. Qual seria a real necessidade de se criar as classes do Model do MVC e também criar classes que fariam parte do meu Domínio? As minhas classes de Domínio não seriam o meu Model? Vejo que esse AutoMapper poderia ajudar quando se usa Entity Framework + POCO. Pois faria o mapper das classes POCO para as classes de Domínio. O que você acha dessa abordagem? Abs.
Pablo Ruan on dezembro 8th, 2011 at 23:24 #
Muito bom Denis! Valeu pelas dicas!
Denis Ferrari on dezembro 9th, 2011 at 9:42 #
Muita gente tem essa dúvida. MVC é apresentação e não deve conter rns. Como o Model faz parte da apresentação, ele também não deve conter regras, servindo apenas para suprir necessidades de apresentação que são diferentes das suas necessidades de domínio. Responsabilidades diferentes exigem classes diferentes. Por isso não aproveitamos o domínio nas camadas superiores. Além de que isso geraria uma série de problemas “menores”. Abraços.
Edegilson S. Silva on dezembro 9th, 2011 at 10:52 #
Mas Denis, no MVC o Model não representa a lógica de domínio da aplicação? Não é o Model o responsável por “trabalhar” os dados que serão armazenados e apresentados pela View? Sendo o responsável por “trabalhar” os dados, não é no Model onde estará as regras de negócios, a lógica de domínio da aplicação? Abraços.
Felipe Oriani on dezembro 9th, 2011 at 11:57 #
Fala Denis, muito bom o post, parabéns! Este é um dos assuntos que sempre geram dúvidas quando precisamos fazer algo diferente. Gostaria de saber uma maneira legal de trabalhar com Model (DomainModel) e ViewModels em um ambiente ASP.NET MVC em cenário de apresentação da view e input de dados (post para uma action). Você costuma utilizar o AutoMapper? Como trabalha? Parabéns novamente e continue! []s
Denis Ferrari on dezembro 9th, 2011 at 13:13 #
Não. Mvc é um padrão de apresentação, assim como web forms, mvp e outros. Você colocaria o domínio do projeto no code-behind das páginas aspx de um projeto web forms? Não. No mvc não é diferente. Model não é o domínio do seu projeto. As classes podem ser similares na sua estrutura estática, mas são muito distintas em responsabilidades e consequentemente em necessidades. Abraços.
Giolvani on dezembro 11th, 2011 at 23:54 #
Bah cara… muito bom post e boa explicação!!! Parabéns
Edegilson S. Silva on dezembro 12th, 2011 at 10:24 #
Denis, agora sim entendi. Realmente, sendo o MVC um padrão de apresentação, não deve conter as regras de negócios. Mas isso não acabaria gerando uma explosão de classes? Isso é normal mesmo? Abs.
Denis Ferrari on dezembro 12th, 2011 at 14:19 #
Isso é irrelevante se você entender que as classes, mesmo parecidas no seu modelo estático, terão responsabilidades diferentes. De qualquer forma, é normal, mas se seu modelo for anêmico, você pode considerar algumas alternativas para aumentar a produtividade. Abs.
Artur Araújo on dezembro 16th, 2011 at 11:19 #
Fala Denis, Antes de tudo, parabéns pelo post muito bom. Tenho duas perguntas: 1 – no exemplo que vc deu os “set” das propriedades estão como públicos, para usar o auto mapper tem que esta como públicos? 2 – Vamos supor que a classe Pessoa tem uma lista de endereços, logo a minha view model também tem, como seria na hora de configurar o auto mapper? Abs.
Denis Ferrari on dezembro 19th, 2011 at 8:14 #
Oi Artur, vamos as considerações: 1 – O AutoMapper vai trabalhar com as propriedades que ele conseguir mapear, logo, propriedades que com set privado seriam puladas. 2 – Isso não é de responsabilidade do AutoMapper, mas sim do Binder. Abraços. Deixe um comentário
|
|