cujo âmbito deve ter um DAO tipicamente
-
03-07-2019 - |
Pergunta
seu fora de questão que um dao não vai realizar qualquer estado.
No entanto, para o acesso mais fácil para a classe, é melhor protótipo uso (= novo a cada vez) ou singleton?
criação do objeto simples é barato para dao de .. que normalmente só tem uma SessionFactory, acessando o objeto a partir de uma lista de singletons podem ser igualmente caro.
clarfication:. O foco desta questão é, se existe uma convenção comum para o escopo de daos
Solução
Se a sua pergunta é sobre arquitetura , eu iria com o escopo DAOs para o Unidade de Trabalho ou transação que você está fazendo. Este reduz o potencial para poluição cruzada de transação e -Threading problemas .
Se a sua pergunta é sobre desempenho , em seguida, as mentiras resposta dentro de um profiler , que lhe dá precisos números para o seu particular, carga de trabalho .
Outras dicas
Ou uso protótipo em combinação com uma piscina, como descrito aqui:
OR aqui:
EDIT: obviamente, presumo que a primavera é usado aqui. Caso contrário, eu peço desculpas
i ter chegado à conclusão de que não há nenhuma maneira "perfeita" de decidir isso. escopo singleton é provavelmente a maneira errada de fazê-lo em um aplicativo web, desde que você terá sessões diferentes - um por pedido. -lo em um webapp - pedido escopo pode ser a resposta correta, mas somente se você estiver usando-lo exclusivamente nas solicitações e não em tarefas de fundo. escopo protótipo é viável -. mas somente se você não está segurando dados complexos lá