Padrão Singleton
Como vimos no Laborátorio o padrão Singleton é um padrão de projeto de criação de objetos. O objetivo é garantir uma instância única e acessível de forma global e uniforme para toda classe que implementa este padrão.
Com isso foi feita uma proposta de solução pelo padrão Singleton, que é tornar a própria classe responsável pela sua única instância. A classe que implementa o padrão Singleton garante o acesso à sua instância e ainda intercepta as requisições para criação de novos objetos, garantindo que nenhuma outra instância seja criada.
Um programa que instancia múltiplas cópias, provavelmente, possui um erro, mas a utilização do padrão Singleton faz com que tais erros sejam inofensivos.
Por exemplo:
public class SingletonLog {
// Construtor privado. Suprime o construtor publico padrao.
private SingletonLog() {
// Leitura da configuração de log. Normalmente descrita em um arquivo.
}
// Faz o log de eventos da aplicacao
public void doLog(String eventDescription) {
}
//Retorna a instancia unica da classe SingletonLog
public static SingletonLog getInstance() {
return SingletonLogHolder.instance;
}
//Classe auxiliar para criacao da instancia. Evita problemas de sincronizacao de threads.
private static class SingletonLogHolder {
private static SingletonLog instance = new SingletonLog();
}
}
Bibliográfia:
http://72.14.205.104/search?q=cache:OdPo0CfFupEJ:elton.utfpr.net/Escola/Padr%25E3o%2520Singleton.pdf+Padr%C3%A3o+Singleton&hl=pt-BR&ct=clnk&cd=15&gl=br&lr=lang_pt
http://pt.wikipedia.org/wiki/Singleton
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário