Método getter invocado múltiplas vezes?

Você sabia que uma simples consulta ao banco de dados colocada no método errado do seu managed bean pode tornar suas páginas 10x mais lentas?

Entre 2008 e 2014 eu palestrei em diversos lugares do Brasil sobre os 10 maus hábitos dos desenvolvedores JSF, e sem dúvida um dos problemas mais comuns que encontrei durante estas palestras conversando com profissionais, em consultorias e treinamentos foi o 2o mau hábito: colocar lógica cara em métodos getters.

Provavelmente você já caiu neste 2o mau hábito ou conhece alguém que tenha caído, de qualquer forma, podemos simplificá-lo com um simples trecho de código. Por exemplo, um problema grave pode estar num simples método getter:

public List<Produto> getProdutos() {
    return this.dao.lista(); // lista produtos do banco
}

Apesar deste método parecer inofensivo ele pode tornar sua página até 10x mais lenta para abrir no navegador! Caso duvide ou queira entender por que ele pode ser tão perigoso para sua aplicação, eu recomendo a leitura do meu novo post:

>> JSF: Não coloque processamento caro em métodos getters

Colocar consultas dentro de getters é tão perigoso que, na maioria dos casos, além de impactar diretamente na aplicação Java ele impacta no banco de dados pois este é bombardeado com inúmeras consultas.

E aí, o que achou da dica?

Deixe seu comentário, e se tiver algum amigo que curte meter consultas em getters por comodidade, eis a chance de convence-lo do contrário.

Leave a Reply

Your email address will not be published. Required fields are marked *