O que o padrão DAO (Data Access Object) promove em uma aplicação Java?
Questão
O que o padrão DAO (Data Access Object) promove em uma aplicação Java?
Alternativas
A) A mistura de lógica de negócios com operações de banco de dados.
B) A conversão automática de dados do banco de dados para objetos Java.
C) A eliminação da necessidade de conexões com o banco de dados.
D) A separação da lógica de acesso a dados da lógica de negócios da aplicação.
E) A redução da necessidade de consultas SQL na aplicação.
Explicação
O padrão DAO (Data Access Object) tem como objetivo isolar/encapsular toda a lógica de acesso a dados (consultas, conexões, CRUD, etc.) em classes específicas (DAOs), evitando que essa responsabilidade fique espalhada nas classes de regra de negócio.
Passo a passo do raciocínio:
- Em uma aplicação Java, a lógica de negócios deveria focar em regras do domínio (validações, cálculos, fluxos).
- O acesso ao banco envolve detalhes técnicos (SQL, JDBC, JPA/Hibernate, transações, mapeamentos).
- O DAO cria uma camada de abstração para o acesso a dados, permitindo que a aplicação dependa de uma interface/contrato, reduzindo acoplamento com a forma de persistência.
- Assim, promove-se separação de responsabilidades, facilitando manutenção, testes e troca da tecnologia de persistência.
Analisando as alternativas:
- A) Incorreta: é o oposto do DAO.
- B) Incorreta: isso é mais relacionado a ORM/mapeamento objeto-relacional, não ao propósito central do DAO.
- C) Incorreta: DAO não elimina conexões; ele as organiza/encapsula.
- D) Correta: descreve exatamente a finalidade do padrão.
- E) Incorreta: o DAO pode até reduzir SQL “espalhado”, mas não necessariamente reduz a necessidade de SQL (depende da tecnologia e do projeto).
Alternativa correta: (D).