Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — FGV 2026

ProgramaçãoProgramação Orientada a Objetos
Código
fg129186
Banca
FGV
Órgão
AMAZUL
Ano
2026
Nível
Superior
Cargo
Engenheiro de Computação
Em programação orientada a objetos, um desenvolvedor precisa garantir que apenas uma instância de uma classe de conexão com banco de dados seja criada durante toda a execução da aplicação, evitando múltiplas conexões desnecessárias.O padrão de projeto que resolve esse problema é o
  1. AFactory Method.
  2. BObserver.
  3. CSingleton.
  4. DStrategy.
  5. EDecorator.
Revelar gabarito e comentário

GabaritoC — Singleton.

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ões de Projeto: Singleton

Gabarito: letra C. O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Exatamente o que se deseja para uma classe de conexão com banco de dados, evitando múltiplas conexões desnecessárias.

A questão testa o conhecimento dos padrões de projeto clássicos (GoF). O Singleton é o padrão criacional que resolve o problema de instância única. Vamos analisar cada alternativa:

Padrão de Projeto

Categoria

Problema que Resolve

Aplicação no Contexto

Singleton

Criacional

Garantir instância única de uma classe

Conexão única com banco de dados

Factory Method

Criacional

Criar objetos sem especificar a classe concreta

Criação sob demanda, não única

Observer

Comportamental

Notificar múltiplos objetos sobre mudanças de estado

Eventos e notificações

Strategy

Comportamental

Definir família de algoritmos intercambiáveis

Algoritmos variáveis

Decorator

Estrutural

Adicionar responsabilidades dinamicamente

Extensão de funcionalidades sem herança

Alternativa A — ❌ Incorreta

Factory Method é um padrão criacional que define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. Não resolve o problema de instância única; pelo contrário, pode criar múltiplas instâncias sob demanda.

Alternativa B — ❌ Incorreta

Observer é um padrão comportamental que define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados. Não tem relação com controle de instância.

Alternativa C — ✅ Correta ⟵ GABARITO

Singleton garante que uma classe tenha apenas uma instância e fornece um ponto de acesso global a ela. É implementado com um construtor privado e um método estático que retorna a única instância. Perfeito para gerenciar conexões de banco de dados.

Alternativa D — ❌ Incorreta

Strategy é um padrão comportamental que permite definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis. Não trata de criação de instâncias.

Alternativa E — ❌ Incorreta

Decorator é um padrão estrutural que permite adicionar responsabilidades a um objeto dinamicamente, sem modificar sua classe. Não está relacionado a controle de instância.

PEGA ESSA DICA!

Decore os padrões GoF por categoria: Criacionais (Singleton, Factory Method, Abstract Factory, Builder, Prototype), Estruturais (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy) e Comportamentais (Observer, Strategy, Command, Template Method, Iterator, State, Chain of Responsibility, Interpreter, Mediator, Memento, Visitor). A FGV costuma cobrar a aplicação prática de cada um.

Gabarito: letra C.

Link permanente: /questoes/fg129186