Performace da aplicação

3 respostas
luistiagos

Ola um analista aqui da empresa onde eu trabalho disse que deve evitar usar atributos staticos e singletons em aplicações web pois elas atrapalham a performace da aplicação… isto esta certo?

3 Respostas

nicholas.bittencourt

Como um aplicação web trabalha com varios threads, cada atributo estatico ou singleton teria que ser syncronized para evitar problemas de concorrência entre requests.

Agora imagine 50 usuarios acessando seu site ao mesmo tempo e cada um deles precisando esperar o outro terminar a requisição para poder dar um set na sua classe. Acho que é um bom tempo a considerar, né?

T

Atributos estáticos ou singletons só poderiam ser usados, sem sincronização, se eles fossem read-only, o que nem sempre é possível.
Você pode ter algo que é estático para a thread (usando ThreadLocal), como é o caso de formatos SimpleDateFormat ou DecimalFormat usados na sua aplicação e que você não quer ficar recriando a toda hora. (SimpleDateFormat, DecimalFormat não são thread-safe, como aprendi a duras penas, e exigem o uso de ThreadLocal para serem usados corretamente.)

luistiagos

Então patterns como Delegate, Facede e DAOs nao devem ser usados em aplicações web?

Criado 17 de julho de 2007
Ultima resposta 17 de jul. de 2007
Respostas 3
Participantes 3