Sobes.tech
Junior

O que é um singleton?

sobes.tech IA

Resposta da IA

O singleton é um padrão de design criacional que garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela.

Vantagens:

  • Controle sobre a única instância.
  • Ponto de acesso global.
  • Inicialização preguiçosa (se implementada).

Desvantagens:

  • Violação do princípio da responsabilidade única.
  • Dificulta os testes.
  • Pode criar problemas em ambientes multithread sem sincronização.

Implementação típica em Swift:

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

    // Construtor privado para evitar criar outras instâncias
    private init() {  
        // Configuração adicional, se necessário  
        print("Instância Singleton criada")  
    }  

    // Exemplo de método singleton  
    func doSomething() {  
        print("Singleton está fazendo algo")  
    }  
}  

Uso:

// Acesso à única instância através da propriedade estática
let instance = Singleton.shared  
instance.doSomething()  
  
// Tentar criar outra instância causará erro de compilação
// let anotherInstance = Singleton() // Erro!