Eu to tentando implementar o padrão DAO e to com dúvida onde usar os métodos.
Por exemplo, na minha camada de Controle como eu deveria implementar:
Busca de clientes:
ClienteDAO cliente = Factory.createClienteDAO;
List cliente = cliente.findAll();
ou
List clientes = Cliente.getClientes();
//getClientes() é o método estático que encapsula o cliente.findAll();
[/quote]
Se existe um objeto que é responsável por fazer pesquisas esse não é o proprio objeto pesquisado, logo a primeira opção é melhor.
Contudo vc pdoeria melhorar isso usando um Registro. A fabrica serve para criar, não para encontrar. Ficaria asssim
Mas to achando estranho o fato de estar implementando a msm coisa, soh q mudando o nome de DAO para Repositorio.
Tipo, onde entra o DAO nesse modelo?[/quote]
Com sorte, o DAO não entra nesse modelo
Hoje em dia construir DAOs é uma perda de tempo no caso geral. DAOs, hoje em dia, são apenas bons no caso de sistemas legados
já que eles fazem o papel de “tradutor” entre o legado e a aplicação.
Vc vai, atualmente, usar um Hibernate ou um JPA ( um DomainStore em geral). Ou seja, vc vai usar outra biblioteca que é mais que um DAO. Claro que vc pode criar o seu próprio DomainStore, mas isso não é aconselhado para cardíacos…
Moral da historia :
preocupe-se com os repositórios primeiro. O que está abaixo deles é mecânico, é coisas chata, aborrecida e automatizada por API modernas.