Alternativa C - Singleton
Introdução ao Padrão Singleton
O padrão de projeto descrito na questão refere-se ao Singleton, cujo objetivo principal é garantir que uma classe tenha apenas uma instância durante a execução do programa e fornecer um ponto de acesso global a ela.
Análise dos Elementos Chave
A descrição fornecida na questão detalha exatamente os mecanismos técnicos para implementar esse padrão:
- Construtor Private: Ao tornar o construtor privado, impedimos que qualquer outra classe instancie o objeto diretamente usando a palavra-chave
new. Isso força o controle total da criação para dentro da própria classe. - Atributo Static: Criamos uma variável estática dentro da classe para armazenar a única instância permitida. Como é estática, ela pertence à classe e não a um objeto específico, compartilhando-se entre todas as chamadas.
- Método Estático de Acesso: Implementamos uma operação estática (comummente chamada de
getInstance()) que verifica se a instância já existe. Se não existir, cria-a; se já existir, retorna a mesma referência armazenada.
Comparação com Outras Alternativas
Para confirmar a resposta, podemos analisar rapidamente o propósito das outras opções listadas:
| Padrão | Objetivo Principal | Diferença Chave |
|---|
| Abstract Factory | Criar famílias de objetos relacionados | Foca em criar múltiplos objetos compatíveis, não em limitar a uma instância. |
| Factory Method | Delegar a criação de objetos às subclasses | Permite que subclasses escolham o tipo de objeto a ser criado. |
| Singleton | Garantir uma única instância global | Corresponde à descrição: construtor privado + instância estática. |
| Prototype | Criar novos objetos clonando um protótipo | Baseia-se na cópia de um objeto existente, não no armazenamento estático único. |
| Builder | Construir objetos complexos passo a passo | Separa a construção do objeto da sua representação final. |
Conclusão
A combinação de construtor privado + instância estática + método de acesso estático é a assinatura técnica clássica do padrão Singleton. Portanto, a alternativa correta é a letra C.