Padrões de Projeto

Singleton


Singleton é um padrão de projeto (desingn patterns) criacional cuja a função é garantir a criação de uma única instância de determinada classe para toda a aplicação, ou seja, o objeto desta classe será criada apenas uma vez e sempre que necessário usa-lo, será sempre o mesmo objeto que será utilizado.

Para isso é necessário que a classe tenha um construtor privado, tenha um atributo estático e privado da classe para que nele seja armazenado a instância única da classe e um método público e estático para retornar a instância única do objeto e cria-la quando for utilizada da primeira vez.


public class SingletonClass {

	private static SingletonClass instance;

	private SingletonClass() {
	}

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

Este código acima pode ser melhorado ainda para que tenha maior garantia tornado o atributo da classe também uma constante.


public class SingletonClass {

	private static final SingletonClass INSTANCE = new SingletonClass();

	private SingletonClass() {
	}

	public static SingletonClass getInstance(){
		return INSTANCE;
	}
}

Em UML:

Class Diagram0

Referência: Aula de Engenharia de Software – Profº Marcio – Univás.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s