Padrão DAO
Neste trabalho vamos saber mais sobre o Padrão de Projeto Data Access Objetos, do catálogo JEE da SUN (Agora da Oracle).
No catálogo JEE os padrões são divididos da seguinte forma:
Camada de Apresentação.
Camada de Negócios.
Camada de Integração.
O DAO se classifica na camada de Integração. Essa camada encapsula a lógica relacionada com a integração do sistema com a camada de informação distribuída.
Objetivo do Padrão
Encapsular o acesso a dados em uma camada separada da aplicação.
Problema:
A forma de acesso aos dados pode mudar consideravelmente dependendo da fonte de dados usado, ex: Banco de dados relacional ou LDAP dentre outros. A 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 amarra o código à forma de implementação.
Solução.
O Data Access Object se propõem oferecer uma interface comum de acesso a dados e esconde as características de uma implementação específica. Define uma interface que pode ser implementada para cada nova fonte de dados usada, viabilizando a substituição de uma implementação por outra.
Consequências e Características:
• Centralização do código de acesso/manipulação de dados da aplicação. Este fato possibilita uma manutenção mais eficiente do código de persistência da aplicação, uma vez que o mesmo encontra – se localizado em uma única camada. Em uma situação, por exemplo, de alteração em alguma consulta à base de dados, sabe - se que a modificação será realizada na camada que implementa o DAO, o que acarreta ganho de tempo pois evita localizar e modificar em diversas partes do código da aplicação os pontos que ocorrem a consulta em questão, para isso necessita de uma camada adicional, pode ter pequeno impacto na performance,
• Separação da lógica de negócio da persistência.
O uso do DAO implica na separação das operações de banco de dados das regras de negócio,