Sobes.tech
Junior — Middle

¿Cuál es el objetivo principal del patrón Singleton y en qué casos se aplica?

sobes.tech AI

Respuesta de la IA

El patrón Singleton garantiza que una clase tenga solo una instancia y proporciona un punto de acceso global a esa instancia. Esto es útil cuando se necesita controlar el acceso a algún recurso, como una base de datos, configuraciones de la aplicación o un registrador.

Se aplica Singleton cuando:

  • Se necesita limitar la creación de objetos a una sola instancia.
  • Se requiere un control centralizado del estado o recursos.
  • Es necesario garantizar el acceso global al objeto sin pasarlo como parámetro.

Ejemplo en PHP:

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

    private function __construct() {
        // constructor privado
    }

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

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