Obrigado a todos pela resposta. []s Marcus Augusto Jorge Martins writes: > Michael, > > É verdade. Mas foi proposital. Não quis entrar no detalhe da sincronização. > > Para quem quiser maiores detalhes, com algumas recomendações da sun, olhe em > > http://developer.java.sun.com/developer/technicalArticles/Programming/single > tons/ > > Uma outra técnica muito boa que garante a sincronização na criação da > instância, mas não no retorno da mesma: > > public static Singleton getInstance() > { > if (instance == null) > createInstance(); > return instance; > } > > private static synchronized void createInstance() > { > if (instance == null) > instance = new Singleton(); > } > > > Assim eu só tenho a sincronização na criação da instância única (para evitar > que sejam criadas mais do que uma) e não no simples retorno da instância. > > abraços > > Jorge > > -----Original Message----- > From: Michael [mailto:[EMAIL PROTECTED]] > Sent: sexta-feira, 21 de setembro de 2001 00:51 > To: [EMAIL PROTECTED] > Subject: Re: [java-list] Classe > > > Mais uma "correcao": > > -----Mensagem Original----- > De: "Jorge Martins" <[EMAIL PROTECTED]> > Assunto: RE: [java-list] Classe > > >>Corrigindo o método getInstance(): > >>/* método de classe para retorno da instância >única */ >>public static Singleton getInstance() >>{ > > synchronized(Singleton.class) { > >>if (instance == null) >>instance = new Singleton(); > > } > >>return instance; >>} > > >>Faltou o principal: retorna a instância!! > > E tambem garantir que somente uma instancia pode ser criada... :-) > >>abraços > >>Jorge > > --------------------------------------------------------------------- > Michael Nascimento Santos > Analista de Sistemas > Sun Certified Programmer for the Java 2 Platform > > -----Original Message----- > From: Jorge Martins > Sent: quinta-feira, 20 de setembro de 2001 11:41 > To: '[EMAIL PROTECTED]' > Subject: RE: [java-list] Classe > > > Singleton é um design pattern que tem como objetivo garantir a existência de > apenas um objeto de uma classe na aplicação. > > Aqui vai um template: > > class Singleton > { > /* método de classe para retorno da instância única */ > public static Singleton getInstance() > { > if (instance == null) > instance = new Singleton(); > } > > /* instância única */ > private static Singleton instance; > > /* construtor privado */ > private Singleton() > { > } > } > > A única forma de acessar um objeto desta classe é através do método > getInstance(), pois o construtor é privado. > > abraços > > Jorge > > -----Original Message----- > From: Marcus Augusto [mailto:[EMAIL PROTECTED]] > Sent: quinta-feira, 20 de setembro de 2001 10:15 > To: [EMAIL PROTECTED] > Subject: [java-list] Classe > > > Olá a todos, > > Por favor, alguém poderia me explicar o que é uma classe singleton ? > > Obrigado, > > Marcus Augusto > ------------------------------- > http://www.brfree.com.br - O primeiro provedor gratuito do Brasil > > ------------------------------ 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 > 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 > 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 > 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 > 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 > 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 para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------