Desculpa tirar a poeira deste post, mas me senti na obrigação:
groh:
Oi a todos,
estou feliz de estar participando do meu primeiro fórum de Java, em 8 anos de programacao.
Venho do C# e conheci o Singleton através do meu professor de Java da minha escola.
Acabei implementando em Projetos na empresa onde Trabalho com C# e achei muito útil.
Porém nao vejo outra utilizacao pra Singleton que nao seja com Containers para armazenamento de Objetos de uma Classe.
Meus Objetos estao salvos e posso utilizados sem ter que instancialos diversas vezes e sempre que quiser (eles ja foram instanciados, por isso nao os considero de uma classe burra, como foi citado anteriormente aqui), além do mais com o Container Singleton nao preciso ficar acessando minha base de dados o tempo todo para fazer uma atualizacao ou preencher uma tabela, pesquisar dados. Faco tudo no Container, o que ajuda MUITO no tráfico de dados. Os dados podem ser entao salvos no Banco de Dados somente quando preciso.
Abracos
O que eles querem dizer com classe burra é isto:
http://martinfowler.com/bliki/AnemicDomainModel.html
Isto é, o que eles querem dizer com “classes burra” é que provavelmente este comportamento deveria estar em algum outro lugar que não está:
por exemplo o caso do método Math.sqrt, deveria estar na classe Integer, por que nós fazemos operações de raiz quadrada sobre um número, ou seja a classe Integer é “burra” por que deveria saber fazer raiz quadrada e não sabe.
Abraços!