Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — IV - UFG 2023
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
gp044097
Banca
IV - UFG
Órgão
MPE-AC
Ano
2023
Cargo
Analista Ministerial - Análise de Sistemas
O padrão de projeto de software Command possibilita
Aa modificação do comportamento de um objeto emresposta às alterações em seu estado interno.
Bo encapsulamento da solicitação como um objeto,permitindo a parametrização de clientes com solicitaçõesdistintas.
Co emprego do compartilhamento para oferecer suportea grandes volumes de objetos com granularidade fina.
Do oferecimento de uma função para acessar de formasequencial os elementos de uma agregação de objetos,sem expor sua representação subjacente.
Revelar gabarito e comentário▾
GabaritoB — o encapsulamento da solicitação como um objeto,
permitindo a parametrização de clientes com solicitações
distintas.
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ão de projeto Command
Gabarito: letra B. O padrão Command encapsula uma solicitação como um objeto, permitindo parametrizar clientes com diferentes requisições, filas, logs e operações de desfazer. A alternativa B descreve exatamente essa definição consagrada pelo GoF (Gang of Four).
A banca testa o conhecimento da finalidade de cada padrão GoF. Cada alternativa incorreta descreve um padrão diferente:
A – State (comportamento alterado por estado interno);
C – Flyweight (compartilhamento para muitos objetos de granularidade fina);
D – Iterator (acesso sequencial a elementos de uma agregação).
Alternativa A — ❌ Incorreta
Esta alternativa descreve o padrão State, não o Command. No State, um objeto altera seu comportamento quando seu estado interno muda. O Command foca em encapsular uma solicitação.
Alternativa B — ✅ Correta ⟵ GABARITO
Exata definição do padrão Command: encapsular uma solicitação como um objeto, permitindo parametrizar clientes com diferentes solicitações, enfileirar requisições, registrar log e suportar operações de desfazer (undo). Essa é a intenção do padrão, conforme descrito no GoF.
Alternativa C — ❌ Incorreta
A alternativa refere-se ao padrão Flyweight, que usa compartilhamento para suportar grandes quantidades de objetos de granularidade fina de forma eficiente. Não é a finalidade do Command.
Alternativa D — ❌ Incorreta
Esta descreve o padrão Iterator, que fornece uma maneira de acessar sequencialmente os elementos de um agregado sem expor sua representação interna. O Command não tem essa função.
PEGA ESSA DICA!
Para a prova, memorize a intenção principal de cada padrão GoF. O Command é o único que encapsula uma solicitação. Associe: Command = objeto que representa uma ação. Os distratores comuns são State (muda comportamento com estado), Flyweight (compartilhamento de objetos) e Iterator (percorrer coleções). Uma tabela mental rápida ajuda: