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