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!