Com referência aos padrões de projeto relacionados à engenha...
O padrão de comportamento e encadeamento de atendentes (chain of responsibility) evita acoplamento entre solicitantes e atendentes, permitindo que mais de um objeto tenha chance de tratar a solicitação.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
O Padrão Chain of Responsibility, ou Cadeia de Responsabilidade, é um padrão de design comportamental que tem o objetivo de passar a responsabilidade de tratar uma solicitação ao longo de uma cadeia de potenciais atendentes até que um deles a trate. Este padrão é útil quando há mais de um objeto que pode lidar com uma solicitação e a cadeia é composta sequencialmente por esses atendentes.
Uma das vantagens desse padrão é a redução do acoplamento, pois o objeto que faz uma solicitação não precisa saber qual objeto específico irá tratá-la. Em vez disso, a solicitação é enviada para o primeiro atendente da cadeia. Se esse atendente não puder tratar a solicitação, ele a passará para o próximo atendente da cadeia, e assim por diante. Isso continua até que a solicitação seja tratada ou a cadeia chegue ao seu fim.
A assertiva está correta, pois reflete exatamente o propósito do padrão Chain of Responsibility em evitar acoplamento direto entre o solicitante e os atendentes concretos. Cada atendente tem a chance de processar a solicitação independentemente dos outros, promovendo a flexibilidade e a possibilidade de mudança ou extensão da cadeia com facilidade.
Para resolver questões como esta, é necessário entender os conceitos fundamentais por trás dos padrões de design, reconhecer as situações de uso para cada um e saber como eles influenciam os princípios de bom design de software, como baixo acoplamento e alta coesão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Chain of Responsibility
- Evita o acoplamento do remetente de uma solicitação ao seu receptor
- Encadeia os objetos receptores, passando a solicitação ao longo da cadeira até que um objeto a trate
- Use o Chain of Responsibility quando você quer emitir uma solicitação para um dentre vários objetos, sem especificar explicitamente o receptor
2015
O chain of responsability é comportamental e tem como objetivo evitar o acoplamento do remetente de uma solicitação ao seu receptor, de modo a permitir a mais de um objeto a oportunidade de tratar solicitação.
certa
2017
O padrão command tem como definição passar uma requisição entre uma lista ou objetos encadeados para a execução de uma ação ou o acionamento de um evento em um momento posterior.
errada
Chain of responsability
Desacopla o emissor do receptor
Faz passar a solicitação por uma cadeia de receptores potenciais
Procura EVITAR O ACOPLAMENTO do rementente de uma solicitção
Certo
O padrão chain of responsibility desacopla o emissor do receptor, fazendo passar a solicitação por uma cadeia de receptores potenciais, ou seja, ele procura evitar o acoplamento do remetente de uma solicitação.
In object-oriented design, the chain-of-responsibility pattern is a behavioral design pattern consisting of a source of command objects and a series of processing objects.[1] Each processing object contains logic that defines the types of command objects that it can handle; the rest are passed to the next processing object in the chain. A mechanism also exists for adding new processing objects to the end of this chain.
https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo