Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FGV 2024

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fg077083
Banca
FGV
Órgão
CGM de Belo Horizonte - MG
Ano
2024
Nível
Superior
Cargo
Auditor Interno - Ciência da Computação - Manhã
Padrões de projeto são soluções consagradas que se baseiam nas estruturas da orientação a objetos para solucionar problemas comuns em projetos de software. Os padrões são agrupados em tipos.Assinale a opção que indica apenas padrões do tipo comportamental.
  1. ADecorator, bridge e adapter.
  2. BSingleton, prototype e builder.
  3. CIterator, memento e observer.
  4. DCommand, mediator e facade.
Revelar gabarito e comentário

GabaritoC — Iterator, memento e observer.

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: classificação por tipo

Gabarito: letra C. A alternativa C (Iterator, Memento e Observer) agrupa exclusivamente padrões comportamentais, conforme a classificação clássica do GoF (Gamma et al.). Os padrões comportamentais tratam da comunicação e atribuição de responsabilidades entre objetos, enquanto os estruturais e criacionais abordam, respectivamente, a composição de classes e a criação de objetos.

A questão testa o conhecimento das três categorias de padrões de projeto (criacionais, estruturais e comportamentais). Cada alternativa mistura padrões de diferentes tipos, exceto a letra C, que contém apenas comportamentais.

Padrão

Tipo (GoF)

Função principal

Iterator

Comportamental

Percorrer coleções sem expor estrutura interna

Memento

Comportamental

Capturar e restaurar estado interno de um objeto

Observer

Comportamental

Definir dependência um-para-muitos entre objetos

Command

Comportamental

Encapsular requisição como objeto

Mediator

Comportamental

Reduzir acoplamento entre objetos que se comunicam

Decorator

Estrutural

Adicionar responsabilidades dinamicamente

Bridge

Estrutural

Separar abstração da implementação

Adapter

Estrutural

Converter interface de uma classe

Singleton

Criacional

Garantir instância única

Prototype

Criacional

Criar objetos por clonagem

Builder

Criacional

Construir objetos complexos passo a passo

Facade

Estrutural

Fornecer interface simplificada para subsistema

1Criacionais
Singleton
Prototype
Builder
2Estruturais
Decorator
Bridge
Adapter
Facade
3Comportamentais
Iterator
Memento
Observer
Command
Mediator
Padrões de projeto (GoF)
LEVELsoulevel.com.br
Padrões de projeto (GoF): Criacionais (Singleton, Prototype, Builder); Estruturais (Decorator, Bridge, Adapter, Facade); Comportamentais (Iterator, Memento, Observer, Command, Mediator)

Alternativa A — ❌ Incorreta

Decorator, Bridge e Adapter são todos padrões estruturais. Eles lidam com a composição de classes e objetos para formar estruturas maiores. Nenhum deles é comportamental.

Alternativa B — ❌ Incorreta

Singleton, Prototype e Builder são padrões criacionais. Eles fornecem mecanismos de criação de objetos, abstraindo o processo de instanciação. Portanto, não são comportamentais.

Alternativa C — ✅ Correta ⟵ GABARITO

Iterator, Memento e Observer são padrões comportamentais. O Iterator permite percorrer uma coleção sem expor sua estrutura; o Memento captura e restaura o estado interno de um objeto; e o Observer define uma dependência um-para-muitos entre objetos. Todos pertencem à categoria comportamental.

Alternativa D — ❌ Incorreta

Command e Mediator são comportamentais, mas Facade é um padrão estrutural (fornece uma interface simplificada para um subsistema). A alternativa não contém "apenas" padrões comportamentais, como exige o enunciado.

Gabarito: letra C. Corretos: Iterator, Memento e Observer.

Link permanente: /questoes/fg077083