Spring Framework Parte 5 -> Spring Web MVC
Antes de entrar no assunto deixe-me dar aquele aviso de praxe: caso você não ainda não conheça o básico do Spring Framework dê uma olhadinha nos posts anteriores dessa série:
- Spring Framework Parte 1 -> Dependency Injection
- Spring Framework Parte 2 -> Aspect Oriented Programming
- Spring Framework Parte 3 -> Java Database Connectivity (JDBC)
- Spring Framework Parte 4 -> Integração com o Hibernate
- Spring Security 3 -> Deixando sua aplicação Web segura!
Beleza, já que você conhece o Spring vamos ao assunto de hoje: como o Spring implementa o padrão de projeto Model-View-Controller (MVC).
O MVC é um padrão de arquitetura de software que visa separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos (via Wikipedia).
A imagem acima descreve o fluxo das informações no padrão MVC:
1 – O usuário dispara um evento através da camada de visualização (clica em um botão na página ou algo do gênero);
2 – O controlador recebe o evento e coordena como as coisas vão acontecer do lado do servidor, ou seja, passa o fluxo para os objetos necessários para realizar a regra de negócio;
3 – O modelo é utilizado para representar o domínio das informações do negócio então ele é chamado pelo controlador para a realizar a regra de negócio que deve ser realizada. O modelo pode ainda ser usado para enviar os dados para a visão (camada onde o usuário vê as coisas acontecerem, uma página web por exemplo);
4 – Depois que o controlador realiza a regra de negócio utilizando o modelo ele renderiza a nova visão e a envia para o usuário. Criar uma aplicação utilizando o padrão MVC nada mais é do que separar a lógica em “pacotes” (um que representa a interface com o usuário – visão, um que conterá o domínio da aplicação – modelo, e um que terá as classes responsáveis por controlar o fluxo da aplicação – controlador) e fazer com que as informações sigam um caminho certo.
Read more »
