Sobes.tech
Junior — Middle

Qual é o objetivo principal do padrão Singleton e em que casos é aplicado?

sobes.tech IA

Resposta da IA

O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a essa instância. Isso é útil quando é necessário controlar o acesso a algum recurso, como um banco de dados, configurações de aplicação ou um logger.

Aplica-se Singleton quando:

  • É necessário limitar a criação de objetos a uma única instância.
  • É necessário um controlo centralizado do estado ou recursos.
  • É preciso garantir o acesso global ao objeto sem passá-lo por parâmetros.

Exemplo em PHP:

class Singleton {
    private static ?Singleton $instance = null;

    private function __construct() {
        // construtor privado
    }

    public static function getInstance(): Singleton {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

// Uso
$instance = Singleton::getInstance();