Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FGV 2025

Engenharia de SoftwareOrientação a Objetos
Código
fg107142
Banca
FGV
Órgão
CPRM
Ano
2025
Nível
Superior
Cargo
Analista em Geociências - Análise e Desenvolvimento de Sistemas
Associe cada padrão de projeto às descrições listadas a seguir1. Notifica automaticamente os dependentes quando o estado do sujeito muda.2. Encapsula famílias de algoritmos e permite escolhê-los em tempo de execução.3. Garante uma única instância da classe com ponto de acesso controlado.4. Define uma interface de criação; subclasses decidem qual classe concreta instanciar.5. Adiciona responsabilidades dinamicamente, sem alterar a classe original.( ) Singleton( ) Factory Method( ) Strategy( ) Observer( ) DecoratorA sequência correta de preenchimento dos parênteses, na ordem apresentada é
  1. A3 – 4 – 2 – 1 – 5.
  2. B4 – 3 – 1 – 2 – 5.
  3. C3 – 2 – 4 – 1 – 5
  4. D5 – 4 – 2 – 1 – 3
  5. E3 – 4 – 1 – 2 – 5
Revelar gabarito e comentário

GabaritoA — 3 – 4 – 2 – 1 – 5.

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 GoF – Associação

Gabarito: letra A. A sequência correta é 3 – 4 – 2 – 1 – 5, correspondendo a Singleton, Factory Method, Strategy, Observer e Decorator, respectivamente. Cada descrição casa exatamente com a definição do padrão.

A questão testa o conhecimento básico dos padrões de projeto do GoF (Gang of Four). Vamos analisar cada descrição:

  1. Notifica automaticamente os dependentes quando o estado do sujeito muda. – Este é o comportamento do padrão Observer (também chamado de Publisher-Subscriber). O sujeito mantém uma lista de observadores e os notifica sobre mudanças.

  1. Encapsula famílias de algoritmos e permite escolhê-los em tempo de execução. – Esta é a essência do padrão Strategy. Ele define uma família de algoritmos, encapsula cada um e os torna intercambiáveis.

  1. Garante uma única instância da classe com ponto de acesso controlado. – Padrão Singleton. Garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela.

  1. Define uma interface de criação; subclasses decidem qual classe concreta instanciar. – Padrão Factory Method. Define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar.

  1. Adiciona responsabilidades dinamicamente, sem alterar a classe original. – Padrão Decorator. Ele permite anexar responsabilidades adicionais a um objeto dinamicamente, fornecendo uma alternativa flexível à herança.

A ordem dos parênteses no enunciado é: ( ) Singleton, ( ) Factory Method, ( ) Strategy, ( ) Observer, ( ) Decorator. Portanto, preenchemos com os números: 3, 4, 2, 1, 5.

Padrão

Descrição

Singleton

Garante uma única instância da classe com ponto de acesso controlado

3

Factory Method

Define uma interface de criação; subclasses decidem qual classe concreta instanciar

4

Strategy

Encapsula famílias de algoritmos e permite escolhê-los em tempo de execução

2

Observer

Notifica automaticamente os dependentes quando o estado do sujeito muda

1

Decorator

Adiciona responsabilidades dinamicamente, sem alterar a classe original

5

Alternativa A — ✅ Correta ⟵ GABARITO

Sequência 3 – 4 – 2 – 1 – 5, exatamente a associação correta.

Alternativa B — ❌ Incorreta

Sequência 4 – 3 – 1 – 2 – 5. Troca Singleton (3) com Factory Method (4) e Strategy (2) com Observer (1).

Alternativa C — ❌ Incorreta

Sequência 3 – 2 – 4 – 1 – 5. Coloca Strategy (2) no lugar de Factory Method (4) e vice-versa.

Alternativa D — ❌ Incorreta

Sequência 5 – 4 – 2 – 1 – 3. Inicia com Decorator (5) no lugar de Singleton (3) e termina com Singleton (3) no lugar de Decorator (5).

Alternativa E — ❌ Incorreta

Sequência 3 – 4 – 1 – 2 – 5. Troca Strategy (2) com Observer (1).

PEGA ESSA DICA!

Para memorizar esses padrões, associe cada descrição a uma palavra-chave: "única instância" → Singleton; "interface de criação" → Factory Method; "algoritmos intercambiáveis" → Strategy; "notificar dependentes" → Observer; "adicionar responsabilidades" → Decorator. Treine com flashcards.

Gabarito: letra A.

Link permanente: /questoes/fg107142