Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — IV - UFG 2023

Arquitetura de SoftwarePadrõ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
  1. Aa modificação do comportamento de um objeto emresposta às alterações em seu estado interno.
  2. Bo encapsulamento da solicitação como um objeto,permitindo a parametrização de clientes com solicitaçõesdistintas.
  3. Co emprego do compartilhamento para oferecer suportea grandes volumes de objetos com granularidade fina.
  4. 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:

Padrão

Intenção

Command

Encapsular solicitação como objeto

State

Alterar comportamento conforme estado

Flyweight

Compartilhar objetos para economia

Iterator

Acessar elementos de uma coleção

Gabarito: letra B.

Link permanente: /questoes/gp044097