Design Patterns Catalog

Simplificando o que não é complicado

Singleton

O pattern Singleton faz com que apenas uma instância de uma classe exista durante a execução de um programa. O acesso à classe é realizado através de um método getInstance respons´vel por retornar uma instâ da própria classe que o implementa.

Veja abaixo o código Java necessário para criação de um Singleton:


class Singleton {
	static Singleton instance;

	private Singleton() {

	}

	private static synchronized Singleton getInstanceSync() {

		if (instance == null) {
			instance = new Singleton();
		}

		return instance;
	}

	public static Singleton getInstance() {

		if (instance == null) {
			instance = getInstanceSync();
		}

		return instance;
	}
}

Este código garante uma única instância da classe Singleton e o único modo de utilizá-la é através do método getInstance disponibilizado por ela.