MVC
Willian Massami Watanabe
1
2
3
Hello.jsp
Arquitetura em camadas
Arquitetura em camadas
Por que?
Controles da requisição HTTP
Controles da requisição HTTP
Detalhes de apresentação
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios?
Persistência em Banco?
Muitos conceitos implementados em um único
arquivo
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios?
Persistência em Banco?
Controles da requisição HTTP
Detalhes de apresentação
Regra de negócios
Persistência em Banco
15
• Estimula a organização do sistema em um
conjunto de camadas coesas e fracamente
acopladas	

• Cada camada possui propósito bem
definido	

• A camada superior conhece apenas a
camada imediatamente inferior
Arquitetura em camadas
16
• Vantagens
• Separação do código	

• Permite a mudança de instância de uma camada	

• Possibilita que uma camada trabalhe com
diferentes versões de outra camada	

• Desvantagem
• Aumenta o número de classes do sistema
Arquitetura em camadas
17
Arquitetura em camadas
Exemplos?
18
• Outros Exemplos
• Modelo OSI
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Arquitetura em camadas
19
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
20
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Transporte
• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
21
Aplicação
Apresentação
Sessão
Rede
Enlace
Físico
Transporte
• Outros Exemplos
• Modelo OSI
Arquitetura em camadas
22
Aplicação
Apresentação
Sessão
Rede
Enlace
Físico
Transporte
Quem consegue dar mais
exemplos dessa flexibilidade?
Arquitetura em camadas
23
Aplicação
Apresentação
Sessão
Rede
Enlace
Físico
Transporte
Quem consegue dar mais
exemplos dessa flexibilidade?
IPv4 --- IPv6	

UDP --- TCP	

CABOS	

...
Arquitetura em camadas
MVC - Model View Controller
MVC - Model View Controller
• Model: representação da regra de negócios
• View: representação de detalhes de apresentação
• Controller: controle que responde a interações do
usuário, executa o Model e define a View que será
utilizada
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
MVC - Model View Controller
Controller
ViewModel
Requisição
HTTP
Consulta as regras
de negócios
Envia resposta
HTML, JSON,
XML
• Servlet
• Processa a requisição HTTP
• Chama o model
• Decide qual view será
renderizada
• JavaBeans ou POJO
• Regra de negócios
• Persistência dos dados
• JSP
• Renderiza HTML
Exemplo
Controller
Controller
Controles da requisição HTTP
Detalhes da servlet, HTTP, interage com o model e decide
qual a view será renderizada
Model
Model
Regra de negócios
Persistência em Banco
Representação das
regras de negócios
View
View
Detalhes de apresentação
Controller
View
Controller
View
Controller
View
Model

MVC na plataforma JEE