Engenharia Múltipla Escolha

“Seja um cenário em que existem vários objetos capazes de realizar o processamento associado a uma requisição. Esses objetos são organizados em uma lista encadeada de modo que a requisição vai sendo passada do primeiro objeto receptor da requisição para o próximo da lista, e assim sucessivamente, até que o resultado desejado seja atingido.” Assinale a alternativa com o nome do padrão com esse propósito:

“Seja um cenário em que existem vários objetos capazes de realizar o processamento associado a uma requisição. Esses objetos são organizados em uma lista encadeada de modo que a requisição vai sendo passada do primeiro objeto receptor da requisição para o próximo da lista, e assim sucessivamente, até que o resultado desejado seja atingido.” Assinale a alternativa com o nome do padrão com esse propósito:

  1. Chain of Responsibility
  2. Command
  3. Strategy
  4. Mediator
  5. Iterator

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - Chain of Responsibility

O padrão descrito no enunciado é o Chain of Responsibility (Cadeia de Responsabilidade). Este é um dos padrões de projeto comportamentais mais comuns em engenharia de software.

## Análise Detalhada

O texto da questão descreve exatamente como esse padrão funciona:

  • Múltiplos Objetos: Existem vários candidatos para processar a solicitação.
  • Lista Encadeada: Os objetos estão conectados sequencialmente (um após o outro).
  • Propagação da Requisição: O pedido não é enviado diretamente ao especialista correto, mas sim "jogado" na cadeia.
  • Tratamento Sucessivo: Cada objeto tenta resolver o problema; se não conseguir, repassa para o próximo.
  • Conclusão: O processo só termina quando algum objeto da cadeia consegue atender à requisição ou a lista acaba.

## Comparação com outras alternativas

Para garantir o entendimento, vejamos por que as outras opções não se encaixam:

AlternativaFoco PrincipalPor que não é esta?
B) CommandEncapsular uma ação como um objetoFoca em desacoplar quem envia o comando de quem o executa, não em passar entre múltiplos manipuladores.
C) StrategyTrocar algoritmos dinamicamenteFoca em permitir que o comportamento varie independentemente do cliente, sem necessariamente criar uma cadeia de processamento.
D) MediatorInteração entre objetosCentraliza a comunicação para evitar acoplamento direto, diferente da propagação linear de uma cadeia.
E) IteratorPercorrer coleçõesServe para acessar elementos de uma estrutura de dados sequencialmente, não para processar requisições.

Conclusão

A descrição de "passar a requisição do primeiro objeto... para o próximo da lista, e assim sucessivamente" é a definição clássica do padrão Chain of Responsibility.

Portanto, a alternativa correta é a A.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.