Dúvida cruel sobre pattern DAO?

Pessoal,

Normalmente, quando faço um DAO crio um vo com todos campos que preciso no VO e gero a persistencia ! Até ai tudo bem, consigo fazer funcionar corretamente.

Mas percebo que para cada parte do sistema tenho que criar um novo DAO semelhante ao anterior porque não consigo reaproveitar os daos por causa dos relacionamentos diferentes.

Estou espalhando DAOs com mesmo nome no sistema inteiro.

Qual a melhor forma de criar um DAO reutilizavel ??

Atc ! :cool:

Não entendi direito, porque você cria varios para a mesma coisa?

Também não entendo bem a sua dúvida. Você pode criar um contrato para que todos os DAOs possam segui-lo. Por exemplo:

[code]public interface GenericDAO {

void save();
void update();
void delete();
ArrayList findAll();

}[/code]

Agora todos os DAOs que forem criados terão que implementar essa interface:

[code]public class UserDAO() implements GenericDAO {

void save() {
}

void update() {
}

void delete(); {
}

ArrayList findAll() {
}

}[/code]

E assim por diante…

Era essa sua dúvida ?

E a classe que faz a conexão com o BD entraria onde? Deveria ser criado um PrepareStatement e um ResultSet em cada método da classe UserDAO ou existe uma forma melhor?