O MVC

O MVC é uma maneira de organizar o código nos diversos arquivos do projeto. Basicamente, um projeto orientado a objetos, separamos as responsabilidades para facilitar manutenções.
Antigamente, eu usava em um projeto orientado a objetos, o padrão três camadas:


Esse tipo de organização funcionou bem, mas com o passar do tempo, foram encontrados problemas para projetos grandes. Uma alteração feita no arquivo de acesso aos dados, implicava ter que alterar muitos detalhes da aplicação, facilitando erros. E dependendo do projeto, isso era inviável.
Logo depois, passei a usar o padrão MVC. Ele tem algumas facilidades, principalmente pelo fato de isolar totalmente a lógica de negócios do acesso aos dados.

SIGNIFICADO MVC

MVC é uma sigla que significa Model VIew Controller. Onde o Model é o acesso aos dados + a lógica da aplicação, o Controller é o controlador e a View é a interface humana.



Porque o diagrama é assim? A view vai fazer o pedido ao controller. Nesse momento, o controller vai fazer o pedido ao model. Que vai retornar um array empacotado com vários models processados ao controller. O controller vai retornar esse array para a view, que vai montar a tela. O model vai instanciar um model para cada linha do banco de dados ao fazer uma consulta.
Para cadastrar os dados, vai mudar de acordo com a linguagem usada. O MVC perfeito que é o do Java, já manda ao controller o model montado, que será enviado ao arquivo do model para ser inserido. No Laravel, monto o model no controller, e aí sim mando para o arquivo do model para ser inserido.

EXPLICANDO MELHOR A VANTAGEM

A view que é a responsável por tratar o array de models para exibição, isentando o controller disso, que só repassa o array montado. De modo que a grosso modo, a view se comunica diretamente com o model. O que permite agilizar o desenvolvimento de aplicações grandes. Para geral um model novo para outra tabela, somente copie um model já pronto e substitua poucas coisas para adequação. Com o controller, faça a mesma coisa. É várias vezes mais simples e rápido fazer isso.
Quanto a view, ainda sim vai restar um trabalho a ser feito. Afinal de contas, a view é a cara da aplicação para o usuário final, e ela tem que ser feita com capricho, aparando as arestas.

CONCLUSÃO

Hoje, o MVC é largamente usado para desenvolvimento, então é o ideal aprender esse padrão e muito importante. Aconselho pesquisar pela internet sobre isso, e entender bem, inclusive fazendo aplicações de teste para fixar o conhecimento.
As linguagens do mercado hoje, fornecem artifícios para aplicar o MVC com mais eficiência. Sugiro se aprofundar um pouco.

Comentários

Postagens mais visitadas deste blog

Bitbucket Pipeline CI/CD usando Git FTP

Desenvolvo sua página de negócio

Introdução ao PHP orientado a objeto