Aula 10 - Entendendo as Classes DAO

1- Introdução


Nessa aula você irá compreender como funcionam as classes denominadas DAO (Data Access Object). Nesse tipo de classe o objetivo é isolar a funcionalidade de persistir dados manipular o banco de dados. Outro detalhe importante é que esse tipo de técnica é usada quando não estamos utilizamos nenhum mapeador objeto-relacional (Ex. Hibernate no Java ou PHP doctrine).

2- Classes e o Banco de dados



É importante pensar: O que uma classe tem a ver com o banco de dados? Essa é uma dúvida comum que ocorre quando se começa a utilizar bancos de dados relacionais. A verdade é que existe uma diferença muito grande entre os bancos de dados relacionais e os sistemas orientados a objetos.

Os bancos de dados relacionais trabalham com tabelas e constrói relacionamentos entre essas tabelas (1 - 1, 1 - N, N - M). A linguagem clássica para manipulação desse tipo de banco de dados é o SQL e temos diversos exemplares de bancos no mercado. Porém, é comum entre os programadores a Programação Orientada a Objetos que utiliza um paradigma completamente diferente do banco de dados. Esse tipo de programação se foca em objetos de uma classe onde cada objeto possui todos os dados necessários para descrevê-lo, inclusive relacionamento com outras classes.

Para mitigar esse problema de incompatibilidade entre esses dois paradigmas é necessário que exista um adaptador de um paradigma para o outro. 

3- Data Access Objects

Os objetos de acesso de dados (DAO) são classes criadas (em qualquer linguagem) que isola funções relacionadas ao banco de dados para métodos da classe. Sendo assim, uma classe DAO terá ao menos:

1- método para inserir dados na tabela
2- método para editar dados da tabela
3- método para deletar um dado da tabela
4- método para buscar no banco de dados utilizando o ID (chave primária)
5- método para buscar todas as linhas da tabela.


Você pode adicionar outros métodos nessa classe para criar uma funcionalidade específica que você deseja. Porém, os métodos descritos acima geralmente cobrem boa parte da necessidade de vários sistemas.




4- Exemplo estrutural de Crud em PHP

class usuariosDAO{
    
    public function load(){
        // carrega usuarios do banco
    }
     
    public function insert(){
        // inserir usuarios
    }
     
    public function update(){
        // atualiza usuarios
    }
     
    public function delete(){
        // deleta usuarios
    }
}

Veja um exemplo completo em: 

http://www.linhadecodigo.com.br/artigo/3466/trabalhando-com-data-access-object-dao-em-php.aspx

Aula 10 - Entendendo as Classes DAO Aula 10 - Entendendo as Classes DAO Reviewed by Vinicius dos Santos on 12:48:00 Rating: 5

Nenhum comentário

Escreva aí sua opinião!