Questão de Programação — Programação Orientada a Objetos — FGV 2026
- Código
- fg129186
- Banca
- FGV
- Órgão
- AMAZUL
- Ano
- 2026
- Nível
- Superior
- Cargo
- Engenheiro de Computação
- AFactory Method.
- BObserver.
- CSingleton.
- DStrategy.
- EDecorator.
GabaritoC — 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 |
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.
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.
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.
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.
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.
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