sexta-feira, 12 de setembro de 2014

O que é um DAO?

DAO significa Data Access Object. É uma estratégia de implementação que tem como objetivo separar a lógica de acesso a dados das regras de negócio de sua aplicação.
É um padrão para persistência de dados, por exemplo em uma aplicação que utilize a arquitetura MVC, todas as funcionalidades de bancos de dados, tais como obter as conexões, mapear objetos Java para tipos de dados SQL ou executar comandos SQL, devem ser feitas por classes DAO. A  ideia é escrever o código de acesso a dados em uma classe separada que implemente uma interface. Fazendo assim com que o resto do seu sistema tenha acesso direto apenas a esta interface.

Quais as vantagens?

A vantagem de usar objetos de acesso a dados é a separação simples e rigorosa entre duas partes importantes de uma aplicação que não devem e não podem conhecer quase que nada uma da outra, e que podem evoluir frequentemente e independentemente. Alterar a lógica de negócio pode esperar apenas a implementação de uma interface, enquanto que modificações na lógica de persistência não alteram a lógica de negocio, desde que a interface entre elas não seja modificada.


  • Pode ser usada em uma vasta porcentagem de aplicações;
  • Esconde todos os detalhes relativos a armazenamento de dados do resto da aplicação;
  • Atua como um intermediário entre a aplicação e o banco de dados;
  • Mitiga ou resolve problemas de comunicação entre a base de dados e a aplicação, evitando estados inconsistentes de dados.


Como mostrado no diagrama, a abordagem escolhida é isolada ao DAO, enquanto apenas os métodos de acesso a dados pertinentes estão expostos através da interface. Em  um projeto que implemente o DAO, é bastante fácil de trocar de uma implementação para outra com um impacto mínimo para a sua aplicação.


Melissa Lobo.

Nenhum comentário:

Postar um comentário