Alternativa C - Singleton
O padrão descrito na questão refere-se ao padrão de projeto Singleton. Essa estratégia garante que uma classe tenha apenas uma instância e forneça um ponto de acesso global para ela.
Análise da Estratégia
Para compreender por que a resposta é Singleton, vamos decompor os elementos descritos no enunciado:
- Construtor private: Impede que outras classes criem novas instâncias diretamente usando o operador
new. Isso bloqueia a criação de múltiplas cópias do objeto. - Atributo static: Armazena a única instância válida dentro da própria classe, garantindo que ela persista enquanto o programa estiver rodando.
- Operação estática: É o método público (geralmente chamado de
getInstance()) que permite o acesso àquela única instância armazenada.
Esses três pilares formam a essência do padrão Singleton, focado em controlar a instanciamento.
Comparação com as Outras Alternativas
Para confirmar a escolha, podemos observar rapidamente o objetivo dos outros padrões listados:
| Padrão | Objetivo Principal | Diferença Chave |
|---|
| Abstract Factory | Criar famílias de objetos relacionados | Foca em criar grupos de objetos compatíveis |
| Factory Method | Delegar a criação para subclasses | Usa herança para decidir qual classe instanciar |
| Prototype | Criar objetos copiando um protótipo | Envolve clonagem de objetos existentes |
| Builder | Construir objetos complexos passo a passo | Separa construção da representação |
Nenhum desses outros padrões exige necessariamente um construtor privado ou a restrição de ter apenas uma instância no sistema.
Conclusão
A descrição técnica fornecida ("construtor private", "instância estática", "operção estática") é a definição clássica de implementação do padrão Singleton. Portanto, a alternativa correta é a C.