[quote=DaviPiala]Sou contra o uso de DAO’s indiscriminadamente alem de fazer mal a saude do sistema faz com que alguns programadores tenham dor de barriga, no caso de data logic o DAO serviria bem, ninguem quer um wrapper sem sentindo a mais pra se preocupar…
Ateh gostaria de perguntar alguem por ai jah teve que trocar o mecanismo de persistencia? O DAO ajudou?[/quote]
Eu acho que é preciso ter cuidado com esse tipo de pensamento, porque pra aproximar isso dos infernais “tudo no botao” do Delphi/VB é um passo. Apesar de ja estar encapsulado o EntityManager continua sendo codigo de acesso a dados e acesso a dados no meio das regras é ruim.
A principio parece obvio, pois entityManager.persist(cliente) nao tem diferenca nenhuma para repositorioCliente.persistir(cliente), nem mesmo da pra dizer que seja mais intuitivo, se for é muito pouco. Mas para buscar um cliente por nome ou data de cadastro ou qualquer coisa, de forma simples, do metodo em que estiver, voce vai precisar de tres ou quatro linhas de codigo com entityManager e apenas uma com o repositorio. Aí, já num exemplo bem simples, o repositorio comeca a deixar de ser apenas um wrapper.
Alem disso o esforco extra de usar repositorio é minimo, se existe.