Sobes.tech
Junior

O que é o padrão Singleton?

sobes.tech IA

Resposta da IA

Singleton é um padrão de design criacional que garante que, em cada momento, exista apenas uma instância da classe, acessível globalmente. É utilizado para a gestão centralizada de recursos ou configurações.

Exemplo de implementação em Swift:

 class Singleton {
    static let shared = Singleton() // Propriedade estática para a única instância

    private init() { // Construtor privado que impede a criação de novas instâncias de fora
        // Configuração do singleton
    }

    func someMethod() {
        // Lógica do singleton
    }
 }

 // Uso do singleton
 let instance = Singleton.shared
 instance.someMethod()

Vantagens:

  • Garante que exista apenas uma instância.
  • Ponto de acesso único à instância.

Desvantagens:

  • Pode complicar os testes (difícil de substituir por um mock).
  • Viola o princípio de responsabilidade única (a classe gerencia sua lógica e a gestão da instância).
  • Potencialmente pode causar problemas com concorrência se não estiver sincronizado.