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!