Utilizar todas as telas do sistema com singleton, é uma boa prática?
Imagino que se vc fizer assim irá impedir o GC de liberar a memoria das telas nao utilizadas.
Geralmente, usar um Singleton por si só, já não é uma boa prática. Telas não são exceção.
Além disso, lembre-se que algumas telas podem precisar ser abertas mais de uma vez ao mesmo tempo no sistema, nesse caso, elas não podem ser Singleton.
Como o fabim falou, singletons também nunca são coletados, o que significa que todos os objetos para o qual a tela aponta também não são (incluindo seus listeners).
Não é uma boa pratica.
Antes vc deve analisar os requisitos do teu sistema e avaliar a devida utilização de um determinado pattern (singleton).
Sair utilizando pattern imaginando ser uma boa pratica nem sempre é o correto e pode acarretar em varios problemas de dificil solução no sistema.
Como as situações citadas pelo fabim e o ViniGodoy (excelente exemplo senhores).
Abraço
Singleton, de jeito nenhum:
Em todos os instantes que necessite do BD (clique de mouse, etc) faça sempre assim:
1) obtenha a conexao;
2) realize o que tem de fazer com o banco;
3) feche a conexão;
4) apresente uma mensagem na tela informando se foi tudo OK (ou uma lista de resultados no caso de uma consulta.
Claro?
abcs.
[quote=knik]Singleton, de jeito nenhum:
Em todos os instantes que necessite do BD (clique de mouse, etc) faça sempre assim:
1) obtenha a conexao;
2) realize o que tem de fazer com o banco;
3) feche a conexão;
4) apresente uma mensagem na tela informando se foi tudo OK (ou uma lista de resultados no caso de uma consulta.
Claro?
abcs.
[/quote]
minha duvida não é com bd, minha duvida era sobre como proceder nos momentos de instanciação das telas, mas mesmo assim obrigado.