Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2015

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fc020581
Banca
FCC
Órgão
MPE-PB
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas – Desenvolvedor
Para estruturar a solução para o problema da empresa, o Analista de Sistemas utilizou um padrão de projeto que tem a intenção de evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação e encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate. O padrão de projeto utilizado é um dos padrões comportamentais da GoF (Gang of Four), denominado
  1. AAdapter.
  2. BComposite Method.
  3. CChain of Responsibility.
  4. DFactor Method.
  5. EPrototype.
Revelar gabarito e comentário

GabaritoC — Chain of Responsibility.

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 Chain of Responsibility (GoF)

Gabarito: letra C. O padrão Chain of Responsibility é um dos padrões comportamentais da Gang of Four (GoF) cuja intenção é evitar o acoplamento entre o remetente de uma solicitação e seu receptor, permitindo que múltiplos objetos tenham a oportunidade de tratar a solicitação, encadeando-se e passando a solicitação ao longo da cadeia até que um objeto a trate. O enunciado descreve exatamente essa definição.

A banca testa o conhecimento da finalidade de cada padrão GoF. A descrição fornecida é a definição clássica do Chain of Responsibility. Vejamos as alternativas:

Alternativa A — ❌ Incorreta

Adapter é um padrão estrutural que converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que classes com interfaces incompatíveis trabalhem juntas. Não se relaciona com o encadeamento de tratamento de solicitações.

Alternativa B — ❌ Incorreta

Composite Method não é um padrão de projeto reconhecido na GoF. O padrão Composite (estrutural) compõe objetos em estruturas de árvore para representar hierarquias parte-todo. O padrão Template Method (comportamental) define o esqueleto de um algoritmo em uma operação, postergando alguns passos para subclasses. Nenhum deles corresponde ao enunciado.

Alternativa C — ✅ Correta ⟵ GABARITO

Chain of Responsibility é o padrão comportamental que descreve exatamente o cenário: desacoplar remetente e receptor, dando a mais de um objeto a chance de tratar a solicitação, formando uma cadeia. É a resposta correta.

Alternativa D — ❌ Incorreta

Factory Method (e não "Factor Method") é um padrão criacional que define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. Não há encadeamento de tratamento.

Alternativa E — ❌ Incorreta

Prototype é um padrão criacional que especifica os tipos de objetos a serem criados usando uma instância prototípica e cria novos objetos copiando esse protótipo. Não se aplica.

PEGA ESSA DICA!

Para memorizar os padrões comportamentais, lembre-se de que eles lidam com algoritmos e atribuição de responsabilidades entre objetos. Chain of Responsibility é um dos mais característicos: pense em uma fila de atendimento onde cada funcionário pode ou não resolver o problema, passando adiante se necessário.

Gabarito: letra C.

Link permanente: /questoes/fc020581