Boa Noite pessoal!
Andei pesquisando bastantes nessas ultimas semana a respeito de arquitetura de sistemas, mas ainda estou com algumas dúvidas e por isso estou recorrendo ao GUJ.
Estou iniciando um projeto de médio porte, onde ocorrerão muitos acessos a informações contidas em banco de dados, este que atualmente esta com aproximadamente 10Gb de informação, e ele tende a crescer quando eu importar algumas informações referentes a dados de funcionários.
Minha dúvida é a seguinte, qual seria a melhor forma de tratar os acessos ao banco (selects, inserts, updates e deletes) dentro do sistema, não em momentos de cadastros, pois nestes casos as DAOs resolvem, mas sim nos processos do sistemas, tais como importações de arquivos, cálculos estatísticos, criação de estrategias e por fim geração de um PPT que está parametrizado na base de dados,
No caso descrito acima, não vejo DAOs como a melhor solução, pois nem sempre precisarei de todos os dados de um objeto, e na maioria dos casos serão selects com alguns JOINS.
Pensei em usar algo semelhante ao que usamos na empresa em que trabalho, mas com algumas melhorias de OO, pois o sistema em que trabalho hoje é um sistema desenvolvido em Delphi lá pelos anos 2000, mas temos casos muito parecidos, tais com cálculo de folha de uma empresa, e o fechamento de competencia, que são ações que demandam muitos acessos ao banco, e lá nas classes de negócio, por diversas vezes fazemos os acessos ao BD por elas.
Alguém tem alguma sugestão de como eu poderia seguir?
Obrigado!!