Sobes.tech
Junior — Middle

Explique o conceito do padrão Singleton e suas principais características.

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.

Principais características do Singleton:

  • Uma única instância: a classe controla a criação do objeto para que não haja mais de uma.
  • Acessibilidade global: a instância está disponível de qualquer parte do programa.
  • Inicialização preguiçosa: o objeto é criado na primeira solicitação (frequentemente).

Exemplo em C#:

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

    private Singleton() { }

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

Este padrão é útil quando é necessário gerenciar recursos ou configurações de forma centralizada, por exemplo, para um logger ou configuração.