RES: [java-list] HTTP....

2002-04-18 Por tôpico Rosfran Lins Borges










 Na verdade, para criar um código
mais condizente com o que vc quer, vc deveria primeiro colocar o modificador
private no construtor da classe. Depois criar um método, possivelmente estático,
para gerar a(s) instância(s) dessa classe. Esse método (chamemos de getInstance()...) retornaria um objeto daquela classe, caso
determinada(s) condição(ões) tivessem sido satisfeitas. Caso contrário,
retornaria null, ou lançaria uma exceção. 


 O "problema" dos
construtores em Java, é que eles sempre alocam um novo espaço de memória para o
objeto, mesmo que o objeto seja o mesmo. Se vocês estiverem entendendo "instância"
como algo diretamente relacionado à "mesma posição de memória", então
essa solução será mais adequada. Caso contrário, a solução do Marcelo servirá
sem problemas... Considero deselegante na solução dele o fato de gerar uma
exceção caso o usuário tente instanciar mais de uma vez a classe...

 
Quem tiver interesse, dêem uma olhada no artigo, de certa forma
sensacionalista, sobre as desvantagens do operador new:

  Java's new Considered Harmful
  By Jonathan
Amsterdam

  http://www.ddj.com/documents/s=7027/ddj0204a/

  





Rosfran Lins Borges
Analista de Sistemas - NDS
[EMAIL PROTECTED]
Fóton® Informática e Serviços
Fone: (61) 328 5060 R.: 204





-Mensagem original-
De: Marcelo Alves [mailto:[EMAIL PROTECTED]] 
Enviada em: terça-feira, 16 de
abril de 2002 13:53
Para: java-list@soujava.org.br
Assunto: Re: [java-list] HTTP





Código não testado











public class UmaVez{





 private static count
= 0;











 public UmaVez() {





  if
(count != 0){ 





   throw UnsupportedException (Nao pode);





  }











  count++;





 }











}











 Se ela puder ir pro GC, ai tem q estender
finalization() também...

















.: marcelo alves :.













- Original Message - 





From: Vanessa Ribeiro 





To: [EMAIL PROTECTED]






Sent: Tuesday,
April 16, 2002 10:10 AM





Subject: Re: [java-list] HTTP











Bom dia pessoal,











Alguem sabe me dizer como eu faco
uma classe





que soh pode
ser instanciada uma unica vez?





Obrigada,











Vanessa























































- Original Message - 





From: Fabio Hasegawa 





To: Java
List 





Sent: Monday,
April 15, 2002 6:27 PM





Subject: [java-list] HTTP











Olá pessoal... 





 Alguém já
implementou um daemon que fica ouvindo uma porta e conversa via HTTP, tipo um
daemon que possui sua interface de configuração através da web, utilizando um porta configurável?





 Alguém já
trabalhou com algo assim?





 Poderiam me
dar uns toques?











 Abraços











 Fábio














RES: [java-list] HTTP....

2002-04-16 Por tôpico Jorge Luiz Santos Farias









Segue um exemplo de como implementar um Singleton
em Java (extraído do pattern Service Locator). Acho que é isto que você
procura.



public class X

{

  private static X me;

  private X()

    {

   ...

    }

    public static X getInstance() throws XException

    {

 if (me == null)

     {

     me = new X();

 }

 return me;

     }

 ...

}

   Atenciosamente,







Jorge Luiz Santos Farias

Coordenador de Projetos -
NDS

[EMAIL PROTECTED]

foton® Informática e
Serviços

Fone: (61) 328 5060 R.:
203



-Mensagem original-
De: Vanessa Ribeiro [mailto:[EMAIL PROTECTED]] 
Enviada em: terça-feira, 16 de
abril de 2002 10:11
Para: java-list@soujava.org.br
Assunto: Re: [java-list] HTTP





Bom dia pessoal,











Alguem sabe me dizer como eu faco
uma classe





que soh pode
ser instanciada uma unica vez?





Obrigada,











Vanessa























































- Original Message - 





From: Fabio Hasegawa 





To: Java
List 





Sent: Monday,
April 15, 2002 6:27 PM





Subject: [java-list] HTTP











Olá pessoal... 





 Alguém já
implementou um daemon que fica ouvindo uma porta e conversa via HTTP, tipo um
daemon que possui sua interface de configuração através da web, utilizando um porta configurável?





 Alguém já
trabalhou com algo assim?





 Poderiam me
dar uns toques?











 Abraços











 Fábio