Sobes.tech
Junior — Middle

Explique o conceito do padrão Singleton e seu uso na programação.

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.

É usado quando é necessário controlar o acesso a recursos, como um banco de dados, um logger ou uma configuração.

Exemplo em C#:

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

    // O construtor privado impede a criação de instâncias de fora
    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
    }
}

Essa abordagem garante segurança em ambientes multithread e inicialização preguiçosa da instância.