terça-feira, 9 de novembro de 2010

Singleton Pattern



Definição

O padrão Singleton oferece a possibilidade de controlar o número de casos que estão autorizados a serem feitos. Nós também recebemos um ponto de acesso global a ele.

Quando usar

Quando apenas uma instância ou um determinado número de instâncias de uma classe são permitidos. Objetos Façade são freqüentemente Singletons porque apenas um objeto Façade é necessário.

Benefícios

• Acesso controlado à instância única.
• Redução do espaço de nome.
• Permite o aperfeiçoamento das operações e representações.

Desvantagens / consequências

O padrão Singleton é também considerado um anti-padrão por algumas pessoas, que sentem que,quando usado em exagero, existe a introdução de restrições desnecessárias em situações onde uma única instância de classe não é realmente necessária.

Exemplo

package com.logica.singleton;

public class FileLogger {
private static FileLogger logger;
// Prevent clients from using the constructor

private FileLogger() {
}

//Control the accessible (allowed) instances
public static FileLogger getFileLogger() {
if (logger == null) {
logger = new FileLogger();
}
return logger;
}

public synchronized void log(String msg) {
// Write to log file...
}
}

Nenhum comentário:

Postar um comentário