Buscar

Aula 08 Patterns MVC e DAO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Padrões de 
Arquitetura em 
Camadas
Introdução
 Em aplicações de médio e grande porte, diversos aspectos
devem ser considerados:
 Apresentação
 Lógica da aplicação
 Lógica do negócio
 Persistência de Objetos
 Persistência : capacidade de uma aplicação manter suas
informações entre sessões de uso.
Padrão MVC
 Divide a aplicação em três partes fundamentais:
 Model – Representa os dados da aplicação, sendo responsável
pelo armazenamento e recuperação dos dados quando
solicitado. Objetivo é o de garantir uma independência da fonte
de dados (arquivos, bancos de dados, etc.);
 View – Representa a interação com o usuário, sendo responsável
pela apresentação, controle da página e tela de navegação;
 Controller – Recebe as informações da entrada e controla o
fluxo de dados dentro da aplicação, sendo responsável pela
implementação de regras de negócio ou requisitos do sistema.
 Surgiu nos anos 80 com a linguagem SmallTalk
Padrão MVC
Visa a criação de
soluções 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.
Camada de Apresentação
(View)
Camada de Negócios
(Controller)
Camada de Persistência
(Model)
Classes de 
utilidade e 
classes 
assistentes
Banco de 
Dados
Padrão MVC
 Objetivo do MVC
 Isolar mudanças na GUI, evitando que estas mudanças
acarretem em mudanças na Camada de Negócios da
aplicação.
 Vantagens
 Facilita a manutenção
 Facilita o desenvolvimento por times multidisciplinares:
 desenvolvedores – back-end
 designers – front-end
Padrão MVC
 O padrão Data Access Object , também
conhecido como padrão DAO, abstrai a
recuperação dos dados tal como uma base de
dados.
 O DAO é utilizado para encapsular a lógica de
acesso a dados. Assim, se for necessário a
alteração de banco de dados, não é necessário
alterar todo sistema, mas somente os DAOs.
Data Access Object (DAO)
 Dentro do DAO são realizadas as querys para
acesso aos bancos de dados. A intenção real de
existência dos DAOs é que eles não possuam
nenhuma lógica de negócio.
 Realiza o trabalho de abstrair e mascarar o tipo
do banco de dados, controlando as conexões,
exceções, retornos para os níveis superiores, entre
outros.
Data Access Object (DAO)
Problema
 Forma de acesso aos dados varia
dependendo da fonte de dados:
 Banco de dados relacional
 Arquivos (XML, CSV, texto, formatos
proprietários)
 LDAP
 Persistência de objetos depende de
integração com fonte de dados
 Colocar código de persistência
diretamente no código do objeto que o
utiliza ou do cliente amarra o código
desnecessariamente à forma de
implementação
 Ex: difícil passar a persistir objetos em XML,
LDAP, etc.
Solução
 DAO oferece uma interface
comum de acesso a dados e
esconde as características de uma
implementação específica
 Uma API: métodos genéricos para ler
e gravar informação
 Métodos genéricos para concentrar
operações mais comuns (simplificar
a interface de acesso)
 Define uma interface que pode ser
implementada para cada nova
fonte de dados usada, viabilizando
a substituição de uma
implementação por outra
 Client: qualquer objeto que
requer acesso a dados
 DAO: esconde detalhes da fonte
de dados
 DataSource: implementação da
fonte de dados
 Data: objeto de transferência
usado para retornar dados ao
cliente. Pode também ser usado
para receber dados.
 ResultSet: resultados de
uma pesquisa no banco
Data Access Object (DAO)
Exemplo
Data Access Object (DAO)
 Objetivo
 Abstrair e encapsular todo o acesso a uma fonte de
dados. O DAO gerencia a conexão com a fonte de dados
para obter e armazenar os dados.
 Vantagens
 Transparência quanto à fonte de dados
 Facilita migração para outras implementações
 Reduz complexidade do código nos objetos de negócio 
 Centraliza todo acesso aos dados em camada separada
 Qualquer componente pode usar os dados
Para a próxima aula
 Entregar, por e-mail, até as 19h do
dia 25/10 a especificação dos
Requisitos que Impactam na
Arquitetura (preencher no template).

Continue navegando