Você está na página 1de 3

O que MVC?

Atualmente, muitos softwares e frameworks esto utilizando do padro MVC para o


desenvolvimento de seus aplicativos/sites. E agora chegou a hora em que vamos
entender o conceito e como funciona o famoso MVC.
O MVC (Model, View e Controller) uma arquitetura ou padro que lhe permite dividir
as funcionalidades de seu sistema/site em camadas, essa diviso realizada para
facilitar resoluo de um problema maior. Onde possumos trs camadas bsicas, e cada
uma delas, com suas caractersticas e funes bem definidas.
Definio das camadas
Modelo
O modelo (Model) utilizado para manipular informaes de forma mais detalhada,
sendo recomendado que, sempre que possvel, se utilize dos modelos para realizar
consultas, clculos e todas as regras de negcio do nosso site ou sistema. o modelo
que tem acesso a toda e qualquer informao sendo essa vinda de um banco de dados,
arquivo XML.
Viso
A viso (view) responsvel por tudo que o usurio final visualiza, toda a interface,
informao, no importando sua fonte de origem, exibida graas a camada de viso.
Controladora
A Controladora (controller), como o nome j sugere, responsvel por controlar todo o
fluxo de informao que passa pelo site/sistema. na controladora que se decide se,
o que, quando e onde deve funcionar. Define quais informaes devem ser
geradas, quais regras devem ser acionadas e para onde as informaes devem ir, na
controladora que essas operaes devem ser executadas. Em resumo, a controladora
que executa uma regra de negcio (modelo) e repassa a informao para a visualizao
(viso). Simples no?
Por que utilizar MVC?
Com o aumento da complexidade dos sistemas/sites desenvolvidos hoje, essa
arquitetura tem como foco dividir um grande problema em vrios problemas menores e
de menor complexidade. Dessa forma, qualquer tipo de alteraes em uma das camadas
no interfere nas demais, facilitando a atualizao de layouts, alterao nas regras de
negcio e adio de novos recursos. Em caso de grandes projetos, o MVC facilita muito
a diviso de tarefas entre a equipe.
Abaixo sero listadas algumas das vantagens em utilizar MVC em seus projetos:
Facilita o reaproveitamento de cdigo;
Facilidade na manuteno e adio de recursos;
Maior integrao da equipe e/ou diviso de tarefas;

Diversas tecnologias esto adotando essa arquitetura;


Facilidade em manter o seu cdigo sempre limpo;
Exemplo do funcionamento do MVC
Com a teoria j compreendida, vamos imaginar a seguinte situao: Voc desenvolveu
um site, e esse site possui uma tela de login, onde o usurio digita seu login e sua senha,
aps a autenticao, caso ocorra tudo certo, o usurio acessa a rea restrita do site, caso
contrrio redirecionado novamente para a pgina de login repassando uma mensagem
que a combinao de usurio e senha invlida.
Conseguiu imaginar essa situao? Beleza... Agora veja como isso acontece caso voc
ainda no tenha adotado a arquitetura MVC em seu site: Primeiramente, o usurio
preenche o formulrio com seu login e sua senha e pressiona o boto Logar.
Depois disso, o formulrio envia essas informaes para um arquivo onde, no
mesmo arquivo, voc executa as seguintes etapas:
1. Armazena em variveis os dados digitados pelo usurio;
2. Montam um comando SQL para selecionar o usurio;
3. Verifica se retornou alguma informao;
*Se retornar alguma informao, armazena o usurio em uma sesso e redireciona para
a rea restrita;
*Se no retornar nenhuma informao, redireciona para a pgina de login com uma
mensagem notificando que a combinao digitada invlida;
Aparentemente esta tudo OK, tudo funcionado. Mas veremos agora como funcionaria se
o seu site estivesse utilizando a arquitetura MVC:
Os passos seguem os mesmo, primeiramente, o usurio preenche o formulrio com seu
login e sua senha e pressiona o boto Logar. Agora veremos algumas mudanas.
Depois disso, o formulrio envia essas informaes para uma controladora, e essa
controladora realizar as seguintes etapas:
1. A controladora (controller) carrega um modelo (model), e executa um mtodo que
realiza a validao;
2. No modelo (model) so executadas as seguintes tarefas:
Armazena as informaes digitadas pelo usurio;
Realiza a consulta. Caso retornando verdadeiro (true) em caso de sucesso, ou falso
(false) no caso da combinao das informaes digitadas serem invlidas;
3. A controladora (controller) verifica o que o modelo retornou;

Se retornar verdadeiro (true) armazena as informaes em uma sesso e redireciona o


usurio para viso (view) da rea restrita;
Se retornar falso (false) redireciona o usurio de volta para a tela (view) de login
repassando a mensagem que a combinao digitada invlida;
Agora voc pode ficar se perguntando, mas do modo que eu fao tambm funciona?
Pode ser que sim, mas imagine ter que alterar a regra de negcio. Antes de utilizar MVC
voc precisaria abrir o arquivo que realiza todas as tarefas e localizar a sua regra, para
depois alterar. No caso do MVC, voc j sabe onde se encontra as suas regras de
negcio, ento voc vai direto ao arquivo. Por isso que a maioria dos frameworks j
vem com sua estrutura de diretrios pronta, facilitando a localizao dos arquivos.
Consideraes finais
Deixo vocs refletindo sobre as vantagens de trabalhar com a arquitetura MVC, e
saibam que toda a evoluo, necessita de esforos. Nesse caso, voc s vai precisar se
dedicar um pouco nos estudos, para compreender o funcionamento e suas
particularidades dessa arquitetura. Mas garanto que, assim todo aprendizado sempre
vlido, vocs estaro dando um grande salto na sua carreira, se diferenciando dos
demais concorrentes que ainda resistem em ao novo, pelo medo ou at mesmo por
comodidade.
Referncia
MVC (Model-View-Controller), Trcio Zemel. Disponvel em
<http://codeigniterbrasil.com...>

MVC. Disponvel em <http://pt.wikipedia.org/wiki/MVC>


ASP.NET, MVC (Model-View-Controller) Introduo, Jos Carlos Macoratti.
Disponvel em <http://www.macoratti.net>
Padres de Projeto: O modelo MVC, Macoratti, Jos Carlos. Disponvel em
<http://www.macoratti.net/>

Padres de Projeto Web e o MVC, Almir Neto e Otvio Calaa Xavier. Disponvel em
<http://www.slideshare.net>

Você também pode gostar