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. Isso é útil quando é necessário gerenciar centralizadamente o estado ou recursos, por exemplo, ao trabalhar com configurações de aplicação ou um gestor de base de dados.
Principais características do Singleton:
- Uma única instância: a classe controla a criação do objeto e não permite criar mais de um.
- Acesso global: a instância está disponível de qualquer parte do programa através de um método ou propriedade estática.
- Inicialização preguiçosa: o objeto é criado na primeira chamada (lazy initialization).
Exemplo de implementação do Singleton em Dart (Flutter):
class Singleton {
Singleton._privateConstructor();
static final Singleton _instance = Singleton._privateConstructor();
factory Singleton() {
return _instance;
}
void someMethod() {
print('Chamada ao método Singleton');
}
}
void main() {
var s1 = Singleton();
var s2 = Singleton();
print(identical(s1, s2)); // true
}
Aqui, o construtor é privado e o acesso à instância é feito através de um construtor de fábrica, que sempre retorna o mesmo objeto.