none
Padrão MVC RRS feed

  • Pergunta

  • Estou com uma dúvida! 

    Imaginem que vou construir um cadastro de alunos... Certamente terei uma classe com os atributos "Nome, endereço, idade" (por exemplo).

    A VIEW seria o formulário em si. O usuário digita os dados do aluno, a VIEW cria um objeto e envia para o controller

    O Controller recebe o objeto e repassa para a MODEL.

    A MODEL valida os valores e insere no banco.

    1º) Isso está correto?

    2º) Onde exatamente ficou a classe inicial Aluno? 

    Pesquisei em diversos lugares e vi muitas respostas divergentes..Ex: A view recebe, valida e cria o objeto; O controller insere no banco e a model são as classes em si


    Thiago Rodrigo


    Thiago Rodrigo

    quarta-feira, 21 de janeiro de 2015 02:37

Todas as Respostas

  • Thiago,

    Eu procuro quebrar o que vc chamou de Model em camadas como serviços (negócio) e repositório (acesso a dados). Há varias abordagens possíveis, mas tudo acaba recaindo em um modelo que gira em torno de Domain-Driven Design e Multicamadas.

    De antemão, não recomendo vc incluir lógica de negócio ou acesso a dados na View e no Controller. Isso fere as boas práticas e certamente vai gerar trannstornos a médio e longo prazo.

    Escrevi alguns artigos nos últimos tempos sobre MVC. Não sei se vc é assinante das revistas .NET Magazine e Easy.net, mas acredito que os links abaixo possam te ajudar:

    http://www.devmedia.com.br/aplicacoes-multicamadas-em-net-parte-1/28685

    http://www.devmedia.com.br/aplicacoes-multicamadas-em-net-parte-2/29164

    http://www.devmedia.com.br/entity-framework-code-first/30705

    Com o ASP.NET MVC novo pretendo disponibilizar alguns posts aqui pelo Technet do MSDN mesmo, com exemplos parecidos com esses das revista. É algo que coloquei como meta agora para 2015. De qualquer forma, espero que as informações que passei possam ser úteis.

    Abs

    quarta-feira, 21 de janeiro de 2015 02:55
  • Agradeço a resposta e estou dando uma olhada nos links, porém infelizmente não sou assinante mvp.

    No caso o controller receberia as informações da VIEW e enviaria para a MODEL validar e, se necessário, inserir em um banco, por exmeplo?

    Obrigado novamente!


    Thiago Rodrigo

    quarta-feira, 21 de janeiro de 2015 03:09
  • A princípio, esta é a função dos controllers, fazer a parte de processamento de dados - recebendo-os das páginas (VIEWS) e, através da Model ( como citado acima pode ter-se aqui diversas divisões como persistência, classes, regras de negócio, etc.) também inserir estes dados na base de dados.
    quarta-feira, 21 de janeiro de 2015 04:51
  • Acho que uma boa analogia para entender a função do Controller é encarar o mesmo como um "orquestrador": recebendo os dados da View, o mesmo controla para onde as informações serão repassadas.

    Na prática a Model está mais para uma representação lógica em muitos projetos MVC, já que partes como lógica de negócio e acesso a dados são implementadas em projetos à parte.

    quarta-feira, 21 de janeiro de 2015 09:57