Pessoas(rsrs), estou realizando um trabalho e estou com a seguinte pergunta:
Qual a vantagem de utilizarmos o padrão DAO em nossos programas Java? E qual a desvantagem?
R: Vantagens: Padronização de projetos e de regras de persistências, facilidade em utilização de outros meios de persistência.
Desvantagem: seguir rigorosamente os padrões da interface estabelecida, aumento de classes do projeto…
A principal vantagem do DAO é ter um local onde todo o acesso a dados(JDBC, XML, etc…) será concentrado. Ao invés de ter várias classes que manipulam dados espalhadas pela aplicação.
Hummm… só se for pelo fato de acrescentar mais uma camada, aumentar o nível de complexidade, ficar um pouco mais pesado por ter que instanciar mais classes.
Bem resta saber se isto são desvantagens… e que eu não considero muito.
[quote=“marcossousa”]Hummm… só se for pelo fato de acrescentar mais uma camada, aumentar o nível de complexidade, ficar um pouco mais pesado por ter que instanciar mais classes.
Bem resta saber se isto são desvantagens… e que eu não considero muito.
:okok:[/quote]
É verdade. Se colocarmos na balança, as vantagens pesam mais.
Senhores se vcs estudarem (Caso nunca tenham visto), Abstracoes, Generics, Extends , interfaces e Reflection (JAVA). Vcs vão ver que é possivel fazer 70 % de um sistemas tudo de forma generica.
A questão do DAO é a seguinte centralizar toda a regra em um só ponto para todo da equipe saber onde está o SQL que faz tal coisa.
Agora classe de modelo acessando diretamente banco vc tem que apelar para o padrão singleton (para obter a conexao)o que acarreta inumeros problemas, isso pode parecer viavel em projeto minusculo mas em projeto grandes com aquitetura é um desatre total que leva o projeto ao caos.