quarta-feira, 29 de junho de 2011

Singleton Design Pattern

Boa noite pessoal, hoje vamos falar um pouco sobre design patterns, e o que são design patterns ?
design patterns são padrões de projeto feitos com um único objetivo, facilitar o entendimento, o desenvolvimento e manutenção além de ser uma solução elegante.

Singleton Design Pattern:

O Singleton define que uma certa classe deve ter apenas uma instancia dela mesma, ou seja uma classe do sistema só pode ter apenas uma instancia da classe Singleton, muito usádo em classes de Logs pois classes administradora de logs geralmente precisam fazer uma tarefa apenas, e seria muito custoso para o sistema criar uma nova instancia para cada vez que usarmos o Log, vou exibir um exemplo abaixo para ilustrar melhor.


public class LogWriter {
    private static LogWriter mInstance = new LogWriter(); //uma instancia estática privada encapsulada de  //LogWriter

    private LogWriter(){ //um construtor privado para que nenhuma outra classe possa acessar

    }

    public static LogWriter getInstance(){ //um método estático que retorna a única instancia que criamos
        return mInstance;
    }
}

Uma classe com essas caracteristicas garante uma única instancia no sistema.

Esse Pattern  é considerado um anti-pattern por existirem soluções melhores, acho válido listar algumas soluções melhores no futuro, mais sempre é valido pesquisar melhor.

Caso alguma das informações esteja errada ou algum dos meus leitores veja alguma coisa que possa ser melhorada, aceito sugestões e postarei créditos ao leitor respectivo..

Uma boa noite a todos.