Breve Explicação Sobre o Modelo MVC
PermalinkA programação é algo fantástico que nos permite fazer qualquer coisa das mais diversas formas. Podemos criar, inovar, melhorar e até nos divertirmos. Existem várias formas de programar, várias maneiras.
Cada um, ao longo do tempo, vai adotando diversas formas de programar, diversas idiossincrasias que o vai distinguir ao longo do tempo. Mas o que vos trazemos hoje não é nenhuma idiossincrasia, é o modelo MVC.
MVC é um modelo de arquitetura de software que é muito utilizado atualmente mas, por vezes, pode tornar-se confuso inicialmente (como me aconteceu) mas, depois de alguma pesquisa, cheguei à conclusão de que é muito simples compreender este modelo.
O que quer dizer MVC?
Em primeiro lugar, é importante saber o que quer dizer MVC e o que é e para que serve cada uma das suas componentes.
MVC quer dizer, em inglês, model-view-controller e, em português, podemos traduzir para modelo-vista-controlador. Estas são também as três componentes base deste modelo.
Vista 👁
A camada Vista (View) é aquela que é mostrada ao utilizador, aquela que com a qual o utilizador vai interagir. É a camada de apresentação. A camada dos estilos, do design.
Geralmente, esta camada não conta com lógica de programação podendo, por vezes, ser “puro” HTML com alguns bocados de outra linguagem para, por exemplo, inserir algum dado necessário.
Controladores 🧠
A segunda camada a ser mencionada é a dos Controladores (Controllers) e é nela que a magia acontece. É a camada intermédia do padrão MVC e toda a lógica está aqui contida.
Quando acedemos a um site cujo modelo de programação tenha sido MVC, automaticamente acedemos ao controlador que vai receber o nosso pedido. Logo de seguida, ele coordena todos os processos seguintes: pedir informação, receber informação, mostrar a página (Vista) ao utilizador, etc,
Modelos 🦵
Esta é a camada mais invisível ao utilizador. É nela que tudo o que tem haver com dados é feito: pedir coisas à base de dados, inserir coisas, eliminar coisas, trocar coisas, etc.
O controlador (mencionado acima), envia informação para o modelo armazenar/apagar/etc da base de dados. De forma generalizada, o modelo trabalha com os dados.
É útil?
Diga-me você! Existem várias vantagens e desvantagens em trabalhar com o modelo MVC. Por um lado, é bom porque cada coisa está no seu devido sítio sendo mais fácil trabalhar e alterar estruturas.
Por outro lado, não é recomendado para pequenas aplicações visto que a sua complexidade pode prejudicar um pouco a performance e também o design. Qual a sua opinião acerca do modelo MVC?