ARQUITETURA ASP.NET MVC
Boa tarde pessoal!
Estou com a seguinte duvida estou iniciando estudos para desenvolver utilizando ASP.NET MVC. Programo a 5 anos utilizando WebForms 3 camadas. Esse método me possibilita trabalhar em diversar Camadas de Apresentação(WindowsForms, WebForms, etc) independente das regras de negocio. Minha duvida é a seguinte comecei um projeto em MVCseparando por camadas DAL, BLL, DTO e MVC e me deparei com a seguinte duvida na programação apenas em MVC eu consigo criar as views a partir das models e nesse caso para gravar utilizando o EF preciso primeiro criar um objeto(DTO) passar para camada de negocio(BLL), que por sua vez envia para DAL onde ela gera um novo objeto a partir do Context e por fim grava, correto?
Seria uma boa pratica criar tudo em um projeto MVC onde utilizado o EF?
Estou com a seguinte duvida estou iniciando estudos para desenvolver utilizando ASP.NET MVC. Programo a 5 anos utilizando WebForms 3 camadas. Esse método me possibilita trabalhar em diversar Camadas de Apresentação(WindowsForms, WebForms, etc) independente das regras de negocio. Minha duvida é a seguinte comecei um projeto em MVCseparando por camadas DAL, BLL, DTO e MVC e me deparei com a seguinte duvida na programação apenas em MVC eu consigo criar as views a partir das models e nesse caso para gravar utilizando o EF preciso primeiro criar um objeto(DTO) passar para camada de negocio(BLL), que por sua vez envia para DAL onde ela gera um novo objeto a partir do Context e por fim grava, correto?
Seria uma boa pratica criar tudo em um projeto MVC onde utilizado o EF?
Wellington Carvalho
Curtidas 0
Melhor post
Joel Rodrigues
12/11/2014
Vamos lá, por partes:
Correto, é exatamente isso.
Se é uma boa prática isso é muito relativo. Está dividido em camadas, tudo organizado e tal, ou seja, uma boa estrutura, responsabilidades bem definidas. MAS... isso é necessário?
Vai lhe trazer alguma vantagem? Se você considerar que o EF pode formar a camada Model sozinho e isso funciona bem, pra que complicar mais? Diante de tantas boas práticas, somos levados a pensar desde o início a melhor arquitetura para nossas aplicações, a melhor estrutura para nossas classes, etc, e isso é bom. Porém, não devemos cometer um erro chamado de "Excesso de Engenharia", ou seja, complicar demais algo que pode ser que nunca requeira uma estrutura tão complexa.
Se você vai criar seu primeiro projeto em MVC, eu lhe aconselho a fazer o mais básico e que já é eficiente: crie um data model com EF, crie os controllers e views a partir das entidades mapeadas e veja tudo funcionando. Se você observar, depois de feito isso, que a arquitetura está insuficiente, aí você vai fazendo os ajustes e aprendendo para as próximas.
Boa sorte.
preciso primeiro criar um objeto(DTO) passar para camada de negocio(BLL), que por sua vez envia para DAL onde ela gera um novo objeto a partir do Context e por fim grava, correto?
Correto, é exatamente isso.
Seria uma boa pratica criar tudo em um projeto MVC onde utilizado o EF?
Se é uma boa prática isso é muito relativo. Está dividido em camadas, tudo organizado e tal, ou seja, uma boa estrutura, responsabilidades bem definidas. MAS... isso é necessário?
Vai lhe trazer alguma vantagem? Se você considerar que o EF pode formar a camada Model sozinho e isso funciona bem, pra que complicar mais? Diante de tantas boas práticas, somos levados a pensar desde o início a melhor arquitetura para nossas aplicações, a melhor estrutura para nossas classes, etc, e isso é bom. Porém, não devemos cometer um erro chamado de "Excesso de Engenharia", ou seja, complicar demais algo que pode ser que nunca requeira uma estrutura tão complexa.
Se você vai criar seu primeiro projeto em MVC, eu lhe aconselho a fazer o mais básico e que já é eficiente: crie um data model com EF, crie os controllers e views a partir das entidades mapeadas e veja tudo funcionando. Se você observar, depois de feito isso, que a arquitetura está insuficiente, aí você vai fazendo os ajustes e aprendendo para as próximas.
Boa sorte.
GOSTEI 2
Mais Respostas
Wellington Carvalho
11/11/2014
Boa tarde pessoal!
Estou com a seguinte duvida estou iniciando estudos para desenvolver utilizando ASP.NET MVC. Programo a 5 anos utilizando WebForms 3 camadas. Esse método me possibilita trabalhar em diversar Camadas de Apresentação(WindowsForms, WebForms, etc) independente das regras de negocio. Minha duvida é a seguinte comecei um projeto em MVCseparando por camadas DAL, BLL, DTO e MVC e me deparei com a seguinte duvida na programação apenas em MVC eu consigo criar as views a partir das models e nesse caso para gravar utilizando o EF preciso primeiro criar um objeto(DTO) passar para camada de negocio(BLL), que por sua vez envia para DAL onde ela gera um novo objeto a partir do Context e por fim grava, correto?
Seria uma boa pratica criar tudo em um projeto MVC onde utilizado o EF?
Vou iniciar uma aplicação em MVC. se possivel me passarem alguma estrutura.
Muito obrigado a todos.
Estou com a seguinte duvida estou iniciando estudos para desenvolver utilizando ASP.NET MVC. Programo a 5 anos utilizando WebForms 3 camadas. Esse método me possibilita trabalhar em diversar Camadas de Apresentação(WindowsForms, WebForms, etc) independente das regras de negocio. Minha duvida é a seguinte comecei um projeto em MVCseparando por camadas DAL, BLL, DTO e MVC e me deparei com a seguinte duvida na programação apenas em MVC eu consigo criar as views a partir das models e nesse caso para gravar utilizando o EF preciso primeiro criar um objeto(DTO) passar para camada de negocio(BLL), que por sua vez envia para DAL onde ela gera um novo objeto a partir do Context e por fim grava, correto?
Seria uma boa pratica criar tudo em um projeto MVC onde utilizado o EF?
Vou iniciar uma aplicação em MVC. se possivel me passarem alguma estrutura.
Muito obrigado a todos.
GOSTEI 0
Wellington Carvalho
11/11/2014
Boa tarde iniciei minha aplicação em MVC porém fico me batendo por causa da organização.para melhorar cria a estrutura da imagem abaixo.
[img:descricao=Estrutura]http://arquivo.devmedia.com.br/forum/imagem/325063-20141223-161934.jpg[/img]
Repositório: EF da base de dados
RegraNegocio: todas as regras de negocio do sistema;
Model: Objetos de transição do MVC com regra de negocio
Mais não estou contente com essa estrutura, qual seria a melhor maneira de organizar o projeto?
muito obrigado.
[img:descricao=Estrutura]http://arquivo.devmedia.com.br/forum/imagem/325063-20141223-161934.jpg[/img]
Repositório: EF da base de dados
RegraNegocio: todas as regras de negocio do sistema;
Model: Objetos de transição do MVC com regra de negocio
Mais não estou contente com essa estrutura, qual seria a melhor maneira de organizar o projeto?
muito obrigado.
GOSTEI 0
Joel Rodrigues
11/11/2014
Eu lhe dei uma resposta para refletir, você pensou a respeito? Não existe receita pronta, se é isso que você está buscando, para definir a melhor estrutura de uma aplicação.
Você diz que "não está contente". Mas por quê?
Você diz que "não está contente". Mas por quê?
GOSTEI 0