Pesquisando um pouco cheguei a algumas conclusões e gostaria de discuti-las com os amigos.
Acredito que podemos optar por classes estáticas ou por um padrão singleton, dependendo da situação.
No caso do padrão singleton:
Quando quisessemos ter uma única instancia de toda uma estrutura complexa, uma persistência por exemplo.
No blueprint Adventure Builder as classes facedes, são instanciadas utilizando um ComponenteControler, que implementa um singleton.
Assim sendo, temos uma única instancia da persistência atendendo a todas as chamadas.
Criar todas as classes, beans, DAOS, facetes, com estáticas,. provavelmente seria uma abordagem pouco elegante, trabalhosa e muito sujeita a erro.
Estou utilizando chamadas estáticas em situações mais simples, como classes utilitárias utilitários.
Obrigado,
Rogério Costa
Silvio DeMorais wrote:
Na verdade nao faz diferenca se a classe tem propriedades ou nao, eh possivel escrever uma classe com todos os componetes estaticos (metodos e atributos) e assim essa classe teria como manter estados (propriedades).Na realidade o pattern singleton apenas exige que a classe seja unica por JVM, e uma classe estatica respeita essa exigencia, logo nao existe nenhuma real diferenca. A unica possivel diferenca seria no momento da inicializacao. Uma classe estatica eh inicializada no momento de carga na JVM, pelo class loader. Enquanto que uma classe normal programamda como singleton padrao seria inicializada na primeira chamada a getInstance(). ----- Original Message ----- From: "Bruno Borges" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, March 27, 2003 8:34 AM Subject: Re: [java-list] Classe Singleton versos Classe com métodos static (tipo java.lang.Math)Pro seu objetivo final, o resultado vai ser o mesmo nos dois casos, porem, pro singleton vc vai ter q estar sempre fazendo um getInstance()... ;) o Singleton é pra quando vc vai ter metodos nao-estaticos que podemalterarpropriedades deste objeto cuja instancia eh unica. ;) como vc mesmo disse, sua classe nao vai ter propriedades... entao... pq singleton?? :) []`s miojo ----- Original Message ----- From: "_ _" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, March 26, 2003 4:07 PM Subject: [java-list] Classe Singleton versos Classe com métodos static(tipojava.lang.Math)Olá javaneses, Estou com uma duvida cruel. Toda vez que eu tenho uma classe que nãoprecisaquardar estado (não tem propriedades, apenas métodos), eu sempre fico na dúvida se uso Singleton ou uma classe com métodos static tipo a classe java.lang.Math. Tem alguém que possa me explicar em qual situação émelhorusar um ou outro????????? Grato _________________________________________________________________ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br ------------------------------ LISTASOUJAVA ----------------------------http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para[EMAIL PROTECTED]------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] ------------------------------------------------------------------------------------------------------- LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------