segunda-feira, 16 de junho de 2008

Aula 20 - Padrão Singleton

Padrão singleton

E um padrão que garante a existência de apenas uma instancia de uma classe, mantendo um ponto global de acesso.
Algumas Vantagens do Singleton:
Pode vir a possuir subclasses , devido à utilização de métodos estáticos.
- Acesso a vários objetos
Desvantagens
- A sua implementação depende da linguagem utilizada
- Difícil de ser implementar em um ambiente distribuído
- Difícil de implementar em ambiente multithreaded
- De difícil teste , pois pode haver momentos em que suas aplicações dependam de uma instância extra.
Um exemplo de aplicação em Java em Singleton usado log de dados
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(); }}
Bibliografia: pt.wikipedia.org/wiki/Singleton.

Nenhum comentário: