Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2015
Arquitetura de Software›Padrõ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
AAdapter.
BComposite Method.
CChain of Responsibility.
DFactor Method.
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.