Junior — Middle
Como implementar o padrão Singleton num contêiner de dependências moderno?
sobes.tech IA
Resposta da IA
Nos contêineres de dependências modernos (por exemplo, Spring, CDI), o padrão Singleton é implementado através da configuração do contêiner, que gerencia o ciclo de vida do objeto e garante que apenas uma instância seja criada.
No Spring, por exemplo, os beans são singletons por padrão. Basta declarar um bean:
@Component
public class MySingletonService {
// lógica
}
O contêiner criará uma instância de MySingletonService e a usará em todos os lugares onde for necessária.
Se o bean for criado manualmente, pode-se especificar o escopo singleton:
@Bean
@Scope("singleton")
public MySingletonService mySingletonService() {
return new MySingletonService();
}
Assim, o registro do singleton reduz-se a declarar um componente com escopo singleton, e o contêiner garante a unicidade da instância e gerencia seu ciclo de vida.