já tenho DAO’s para as classes ‘normais’ do meu sistema (cliente,produto,etc). é correto eu ter DAO’s para cada classe de movimentação?
por exemplo, eu deveria ter apenas um DAO para as movimentações referentes a entradas e saídas ou eu devo ter um DAO para Contas a Pagar e outro para Contas a Receber como acontece com outras classes?
ou isso vai de cada um???
Eu costumo ter um DAO para cada Domain Class que seja possível algum ponto do sistema utiliza-la separadamente. Se ela sempre vier com uma classe-mãe (entidade fraca) e nunca tiver um uso separadamente, não crio um DAO especifico para ela.
A princípio você deveria ter um DAO apra cada classe persistente (veja sobre o padrão Entity), esta dúvida pode indicar um problema de modelagem, cuidado.
Bom, se estamos falando de DAOs JDBC, eu diria que depende. Se para persistir o objeto ‘fraco’ você tem um nível de complexidade, criar mais de um DAo e fazer um utilizar o outro é uma boa opção. Para Hibernate e afins um DAO apenas é quase sempre suficiente.
De qualquer maneira, Lembre-se que não precisa existir mapeamento 1-1 entre DAOs e repositórios. Em teoria, repositórios só existem para entidades, então o repositório que persiste uma entidade com diversos agregados pode ser implementando na verdade por N DAOs.