Questão de Engenharia de Software — Orientação a Objetos — CESPE / CEBRASPE 2025
Engenharia de Software›Orientação a Objetos
Código
ce195216
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Desenvolvimento de Software
Durante o desenvolvimento de sistemas que exigem controle sobre a criação de instâncias, o padrão de projeto cuja adoção pode evitar múltiplos objetos redundantes e facilitar o acesso centralizado caracteriza-se por
Acontrolar a criação de instâncias e fornecer um único ponto de acesso global à classe.
Bimplementar um mecanismo de destruição automática da instância após cada uso.
Ccriar múltiplas instâncias da mesma classe para otimizar o desempenho do sistema.
Dpermitir que diferentes partes do código acessem instâncias distintas da mesma classe.
Eutilizar herança para garantir que todas as subclasses tenham múltiplas instâncias.
Revelar gabarito e comentário▾
GabaritoA — controlar a criação de instâncias e fornecer um único ponto de acesso global à classe.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Padrão de Projeto Singleton
Gabarito: letra A. A questão descreve exatamente o padrão Singleton: controlar a criação de instâncias (construtor privado) e fornecer um ponto de acesso global (método estático que retorna a única instância). Esse padrão evita múltiplos objetos redundantes e facilita o acesso centralizado, conforme definido no catálogo GoF (Gamma et al.).
A banca testa o reconhecimento do padrão Singleton e a capacidade de distingui-lo de outros conceitos. Vamos analisar cada alternativa:
Alternativa
Descrição
Correta?
Justificativa
A
Controlar a criação de instâncias e fornecer um único ponto de acesso global à classe
✅ Sim
Corresponde exatamente ao padrão Singleton: construtor privado + método estático de acesso global
B
Implementar um mecanismo de destruição automática da instância após cada uso
❌ Não
Singleton mantém a instância viva durante toda a execução; destruição automática não é característica do padrão
C
Criar múltiplas instâncias da mesma classe para otimizar o desempenho do sistema
❌ Não
Singleton visa evitar múltiplas instâncias; é o oposto do que o padrão propõe
D
Permitir que diferentes partes do código acessem instâncias distintas da mesma classe
❌ Não
Singleton garante que todas as partes acessem a mesma instância, não instâncias distintas
E
Utilizar herança para garantir que todas as subclasses tenham múltiplas instâncias
❌ Não
Singleton não depende de herança; é implementado em uma única classe
Alternativa A — ✅ Correta ⟵ GABARITO
Corresponde literalmente à definição do Singleton: a classe garante que apenas uma instância seja criada e fornece um ponto de acesso global a ela. Isso é feito geralmente com um construtor privado e um método estático (como getInstance()).
Alternativa B — ❌ Incorreta
Apresenta um mecanismo de destruição automática da instância após cada uso, o que não é característica do Singleton. O Singleton mantém a instância viva durante toda a execução ou até que explicitamente destruída; a destruição automática não faz parte do padrão. Além disso, isso contraria a ideia de reuso e centralização.
Alternativa C — ❌ Incorreta
Afirma que o padrão cria múltiplas instâncias para otimizar desempenho. Isso é o oposto do Singleton, que visa evitar múltiplas instâncias. Padrões como Flyweight ou Pool de Objetos lidam com múltiplas instâncias para otimização, mas não Singleton.
Alternativa D — ❌ Incorreta
Diz que permite que diferentes partes do código acessem instâncias distintas da mesma classe. O Singleton, ao contrário, garante que todas as partes do código acessem a mesma instância. Instâncias distintas é o comportamento normal sem Singleton.
Alternativa E — ❌ Incorreta
Associa o padrão ao uso de herança para garantir que todas as subclasses tenham múltiplas instâncias. O Singleton não depende de herança para esse fim; ele é implementado em uma única classe. Herança não é característica definidora do Singleton.
PEGA ESSA DICA!
O Singleton é um dos padrões mais cobrados em concursos. Lembre-se dos três pilares: (1) construtor privado (controle de criação), (2) método estático de acesso (ponto global), (3) atributo estático que armazena a única instância. Cuidado com alternativas que falem em múltiplas instâncias ou destruição – elas quase sempre estão erradas.