Obrigado Bruno

   Mas o meu problema n�o era quanto a implementa��o e sim do comportamento
deste design pattern em JSP/Servlets. Ap�s pequenos testes, pude perceber
que o escopo do objeto �nico (o static Singleton.instance) � de aplica��o.
Gostaria que fosse de sess�o.

   D� uma lida na s�rie de mensagens que eu troquei com o Clebert. Chegamos
a conclus�o que terei que extender o conceito do Singleton, para que a
classe controle um objeto para cada sess�o. Basicamente farei uma hashtable
e o m�todo getInstance() ter� um par�metro session.

   Ainda n�o estou satisfeito com esse modelo, pois acaba com minha
transpar�ncia. Eu gostaria que meus componentes usassem o m�todo
getInstance() sem passar par�metros e, de alguma forma que ainda n�o sei,
minha classe Singleton retorna-se o objeto �nico daquela sess�o.

   Estou pensando em minha classe Singleton acessar uma vari�vel de ambiente
SESSION no m�todo getInstance(). Esta vari�vel, com escopo de sess�o,
armazenaria a sess�o do usu�rio. Assim, com esta informa��o, Singleton pode
retornar o objeto apropriado.

   Isto funciona? Como eu acesso vari�veis de ambiente em java? Isso n�o
faria com que minha classe Singleton ficasse restrita ao ambiente webserver?

   Irei estudar um pouco mais e realizar alguns testes. Qualquer dica, por
favor, envie. Ser� muito bem vinda.

   um abra�o

   Jorge

-----Original Message-----
From: Bruno Augusto Vivas e Possas [mailto:[EMAIL PROTECTED]]
Sent: ter�a-feira, 24 de outubro de 2000 20:42
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Design Pattern Singleton


On Tue, 24 Oct 2000, Jorge Martins wrote:

>Algu�m j� implementou o design pattern Singleton para ser usado em p�ginas
>JSP? A id�ia � transparentemente manter um inst�ncia �nica de uma classe
>atrav�s de uma sess�o. Assim meus outros componentes beans utilizariam esta
>classe com o comando Singleton.getIsntance().
>
>Exemplo:
>
>class Singleton () - classe com �nica inst�ncia. Para acess�-la deve-se
>utilizar o m�todo est�tico getInstance().

Caro Jorge,

matenha uma vari�vel est�tica na sua classe(instance), que corresponder� a
inst�ncia �nica. Fa�a com que o construtor da sua classe Singleton seja
private para garantir que a �nica forma  de ter um objeto dessa classe seja
atrav�s da chamada ao m�todo getInstance().  Implemente o metodo est�tico
getInstance(). Assim voc� ter� uma Singleton. Abaixo, mostro a implementa��o
que normalmente uso.

public class Singleton {

        private Singleton() {
        }

        public static Singleton getInstance() {
                if (instance == null) {
                        instance = new Singleton();
                }
                return instance;
        }

        private static Singleton instance = null;
}
        
>um abra�o
>
>Jorge Roberto Diniz Martins
>[EMAIL PROTECTED]
>

Abra�os,
                        Bruno Augusto Vivas e Possas
                             <[EMAIL PROTECTED]>
                           <[EMAIL PROTECTED]>
                           Linux user number 100453     
                        <http:/www.dcc.ufmg.br/~bavep>


------------------------------ 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]
-------------------------------------------------------------------------

Responder a