Nunca usando modelos, apenas ViewModels


8

Estou iniciando um novo projeto MVC 5 do zero. Estou usando o EF 6 (Database First) e o Identity 2.0.

Minha solução consiste em 3 projetos diferentes: Dados (onde eu tenho um contexto .edmx e meu banco de dados), Recursos (para fins de localização) e Web (o próprio projeto da web).

Estou usando o ViewModels para todas as minhas visualizações, por padrão. Toda vez que eu crio uma nova visualização, a primeira coisa que faço é adicionar o ViewModel (se os ViewModels estiverem conectados entre eles, eu os mantenho todos no mesmo arquivo; por exemplo, todos os ViewModels relacionados às contas de usuário que mantenho no AccountViewModels) . Até agora, isso tornou as coisas muito simples e resolveu vários problemas que eu estava tendo antes.

Mas eu estou pensando, faz sentido para mim usar modelos? O único que estou usando agora é o Identity, que é criado por padrão e contém ApplicationUser e ApplicationDbContext, específicos e necessários para o Identity. Fora isso, é tudo o ViewModels.

  • Meu projeto de dados seria considerado o "modelo" para meu aplicativo? Portanto, na verdade, estou usando um Model, apenas que, em vez de ser um monte de classes que mantenho na Web \ Models, é um projeto separado onde os "Modelos" (objetos BL criados pela Entidade) são armazenados. Acho que sim, mas não tenho certeza.
  • Essa é uma abordagem correta ou pode haver problemas em potencial no futuro? É a minha primeira opinião sobre programação na Web, por isso gostaria de receber algum conselho.

Respostas:


9

Meu projeto de dados seria considerado o "modelo" para meu aplicativo?

Sim, é exatamente isso que o Modelo deveria ser.

Esta é uma abordagem correta

Eu acredito que sim.

ou poderia haver problemas em potencial no futuro?

Definitivamente haverá. Mas a descrição de sua arquitetura é tão vaga que podemos adivinhar que tipo de problemas você encontrará.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.