Desenvolvimento em Camadas com MVC
Fala galera, beleza? Vocês já ouviram falar da sigla MVC? Sabem o que é?
Nesse post irei falar um pouco sobre desenvolvimento em camadas com MVC.
MVC é a sigla para Model, View e Controller, que em português significa Modelo, Visualização e Controlador.
Esse padrão foi implementado pela primeira vez em 1978 por Trygve Reenskaug que trabalhava com a linguagem de programação Smalltalk.
Segundo o próprio criador do padrão, o MVC foi concebido como uma solução geral para problemas de usuários controlar um grande e complexo conjunto de dados.
Hoje em dia, MVC vai além de controlar dados apenas, ele serve como uma base para uma programação mais pragmática e organizada.
Esse padrão supoê a divisão de sua aplicação nas três camadas acimas, sendo:
- Modelo: responsável por cuidar da sua fonte de dados, não necessariamente um banco de dados, mas um feed por exemplo.
- Controlador: reponsável por intermediar o modelo e a camada de visualização, ele recebe os dados da visualização e passa para o modelo e vice versa.
- Visualização: responsável pela entrada e saída dos dados, deve-se evitar lógica nessa camada, apenas rotinas necessárias para exibição são recomendadas (como loops).
Na prática, ao ser iniciada a aplicação, o controlador inicial é executado e carrega todas informações do modelo (geralmente vindas de um banco de dados) e envia para apresentação na camada de visualização.
Ao entrarmos com dados na camada de visualização, estes são enviados para o controlador (onde as vezes é realizado algum processamento) e depois são passados para o modelo onde serão salvos e/ou processados, depois disso, voltamos para camada do controlador dando início ao ciclo novamente.
Esse proceso padronizado facilita a manutenção e reutilização do código, evitando assim a mistura da lógica de negócio com apresentação.
Tendo uma organização bem definida, sempre sabemos onde cada parte do código está, isso ajuda até no trabalho em equipe, pois podemos modularizar melhor o desenvolvimento, otimizando o tempo.
Em um mundo onde cada vez mais metodologias ágeis são aderidas, com certeza o MVC tem seu lugar reservado.
E você, já usa esse padrão?
Se você ainda não utiliza, recomendo que busque se aprofundar no assunto na prática se aventurando com um framework (se você não sabe o que é um framework e porque deve usar um, não deixe de ver esse post). Como exemplo para internet, podemos citar alguns como: Ruby on Rails, CakePHP, ASP .NET e Django.
Espero que tenham gostado. Até mais.