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.