Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FGV 2024
Arquitetura de Software›Padrõ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.
ADecorator, bridge e adapter.
BSingleton, prototype e builder.
CIterator, memento e observer.
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
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.