Sobes.tech
Junior

¿Qué es un singleton?

sobes.tech AI

Respuesta de la IA

El singleton es un patrón de diseño creacional que garantiza que una clase tenga solo una instancia y proporciona un punto de acceso global a ella.

Ventajas:

  • Control sobre la única instancia.
  • Punto de acceso global.
  • Inicialización perezosa (si se implementa).

Desventajas:

  • Violación del principio de responsabilidad única.
  • Dificulta las pruebas.
  • Puede crear problemas en entornos multihilo sin sincronización.

Implementación típica en Swift:

class Singleton {  
    // Constante estática para almacenar la única instancia
    static let shared = Singleton()  

    // Constructor privado para evitar crear otras instancias
    private init() {  
        // Configuración adicional si es necesario  
        print("Instancia Singleton creada")  
    }  

    // Ejemplo de método del singleton  
    func doSomething() {  
        print("El singleton está haciendo algo")  
    }  
}  

Uso:

// Acceso a la única instancia a través de la propiedad estática
let instance = Singleton.shared  
instance.doSomething()  
  
// Intentar crear otra instancia causará un error de compilación
// let anotherInstance = Singleton() // ¡Error!