Problema com Instancia de classe

7 respostas
AdrianoLisboa

É o seguinte pessoal, preciso de uma classe de configurações e dentro dela vou ter algumas configurações que possam ser alteradas ao longo da execução do programa. Sou iniciante e pelo que entendi ele está criando várias instancia ao instanciar ela em outras classes. Preciso de apenas uma instancia e andei pesquisando e achei o tal do Singleton. Fiz a implementação e não deu muito certo.

Segue o código:

public class Variaveis {
	private String confip;
	private String confporta;
	private String usuario;
	private static Variaveis instancia = null;
	
	public Variaveis(){}
	
	/*	
	 * Padrão Singleton em Java
	*/	
	public static Variaveis getInstance(){
		if (instancia == null)
			instancia = new Variaveis();
		return instancia;
	}
	

	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	public String getConfip() {
		return confip;
	}
	public void setConfip(String confip) {
		this.confip = confip;
	}
	public String getConfporta() {
		return confporta;
	}
	public void setConfporta(String confporta) {
		this.confporta = confporta;
	}
	
	public void setPadroes(){
		this.confip  = "127.0.0.1"; 
		this.confporta  = "5222";
	}
}

7 Respostas

daveiga

Seguinte companheiro, coloque seu construtor como private.
E toda vez que pocê precisar de uma instâncida de variáveis use:

Variaveis var = Variaveis.getInstance();

E você sempre terá apenas uma instância.

adriano_si

Bom… o Singleton não é mais muito aconselhado…

de repente seria o caso de buscar uma solução alternativa ao uso do mesmo

Referência: http://www.google.com.br/#hl=pt-BR&q=singleton+anti+pattern&aq=f&aqi=&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=3238d5119dcc1b2&biw=1419&bih=699

AdrianoLisboa

daveiga:
Seguinte companheiro, coloque seu construtor como private.
E toda vez que pocê precisar de uma instâncida de variáveis use:

Variaveis var = Variaveis.getInstance();

E você sempre terá apenas uma instância.

Obrigado ! Consegui fazer aqui.

adriano_si:
Bom… o Singleton não é mais muito aconselhado…

de repente seria o caso de buscar uma solução alternativa ao uso do mesmo

Referência: http://www.google.com.br/#hl=pt-BR&q=singleton+ant...38d5119dcc1b2&biw=1419&bih=699


Por que o Singleton não é mais aconselhado?

adriano_si

Leu o link (algum dos pelo menos) que lhe mandei ???

AdrianoLisboa

Creio que entendi, obrigado.

adriano_si

Perceba Adriano, isso ainda é um discussão em aberto.

Não se chegou a uma única conclusão sobre o assunto, porém, gente com bagagem gigantesca em Java está dizendo isso. Não quer dizer que é a verdade absoluta, estude e tire suas próprias conslusões, mas hás de convir que a idéia é forte.

Eu pelo menos concordei desde a primeira vez que lí. Porém haverão casos em que o trabalho pra implantar a ID (na marra ou através de um Framework) vai ser tão custosa para o que queres fazer, que um Singleton não vai destruir o Projeto…

Abs [] e sucesso…

AdrianoLisboa

Entendi, creio que só com o estudo e desenvolvimento vou perceber mais isso.

Abraços

Criado 30 de maio de 2011
Ultima resposta 30 de mai. de 2011
Respostas 7
Participantes 3