Sobes.tech
Junior — Middle

Explica el concepto del patrón Singleton y su uso en programación.

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.

Se usa cuando se necesita controlar el acceso a recursos, como una base de datos, un registrador o una configuración.

Ejemplo en C#:

public class Singleton
{
    private static Singleton _instance;
    private static readonly object _lock = new object();

    // El constructor privado impide crear instancias desde fuera
    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (_instance == null)
            {
                lock (_lock)
                {
                    if (_instance == null)
                    {
                        _instance = new Singleton();
                    }
                }
            }
            return _instance;
        }
    }

    public void DoSomething()
    {
        // Lógica
    }
}

Este enfoque garantiza la seguridad en entornos multihilo y la inicialización perezosa de la instancia.