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

Foi útil?

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:

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop-api.html#aop-ts-pool

OR aqui:

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/classic-aop-spring.html#classic-aop-ts-pool

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á

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top