APD 3 Aula 2 2 Arquiteturas Camadas
Mackenzie
Arquiteturas em Camadas
Prof. Anderson Diniz Hummel
Faculdade de Computação e Informática
Arquitetura em Camadas
• Arquitetura em camadas visa a criação de aplicativos modulares, de forma que a camada mais alta se comunica com a camada mais baixa e assim por diante, fazendo com que uma camada seja dependente apenas da camada imediatamente abaixo.
• Motivação
– Isolar e facilitar modificações
– Escalabilidade e perfomance
• Algumas regras para as camadas
– Podem estar fisicamente separadas, ou seja, executar em maquinas separadas
– A camada só acessa e é acessada pelas camadas vizinhas.
Arquitetura em Camadas
2
Arquitetura em Camadas
• Faça um diagrama que represente a separação em camadas do sistema que você desenvolveu no semestre anterior.
Arquitetura em Camadas
3
Model View Controller (MVC)
• O que é
– Separação entre a camada de negócio (model) e a camada de visualização
(view) com um mediador de comunicação (controller). Surgiu no inicio dos anos 80 com a linguagem SmallTalk
• Objetivo
– isolar a camada de visualização da camada de negócio diminuindo o custo das modificações
• Vantagens
– Facilita a manutenção
– Desenvolvimento em times
Arquitetura em Camadas
4
Model View Controller (MVC) comunicação direta
Controller
View
comunicação indireta
Model
Model View Controller (MVC)
• Model
– Define as regras de negócio, de acesso e de manipulação dos dados
– Todas as regras relacionadas com tratamento, obtenção e validação dos dados devem ser implementados nesta camada.
• View
– Apresentação dos dados
– Responsável por gerar a forma como a resposta será apresentada, página web, formulário, relatório, etc...
Arquitetura em Camadas
6
Model View Controller (MVC)
• Controller
– Responsável por responder aos pedidos por parte do utilizador. Sempre que um utilizador faz um pedido ao servidor esta camada é a primeira a ser executada.
Arquitetura em Camadas
7
Model View Controller (MVC)
• Vantagens
–