O que é uma cadeia de responsabilidade?
A cadeia de responsabilidade (CoR) envolve o processo de indicação das atividades e responsabilidades de cada entidade no padrão de design orientado a objetos. Existem dois elementos básicos em um design orientado a objetos; objetos de comando e objetos de processamento. Os objetos de comando geram os comandos para os objetos de processamento e os objetos de processamento escolhem os comandos que eles podem manipular e passar o restante para os outros na cadeia. Esse é o princípio básico do design orientado a objetos, e há muito mais flexibilidade no design, como o novo compartimento dos objetos em qualquer local do padrão de design da cadeia de responsabilidade.
A vantagem por trás do design orientado a objetos é que a comunicação não se limita ao remetente e ao destinatário, porque existem muitos objetos para manipular o comando do remetente. Há uma cadeia de objetos diferentes que se alinham para manipular os comandos e, se alguém não pode manipulá-lo, pode transmiti-lo para o próximo na cadeia. A cadeia de responsabilidade continua até que um dos objetos aceite o comando.
A cadeia de responsabilidades precisa ser mais flexível e apoiar a adição de novos manipuladores na cadeia. Como cada manipulador não é capaz de executar todas as tarefas, deve haver um grupo de manipuladores que possam trabalhar coletivamente. Pode haver algumas desvantagens na cadeia de responsabilidade, já que alguns dos comandos permanecem sem solução, mesmo no final da cadeia. Para resolver esse problema, uma solução é implementar todos os manipuladores para todas as solicitações possíveis.
Pode haver alguns problemas relacionados aos links quebrados no sistema da cadeia de responsabilidades. Se o programador esquecer de vincular os comandos, a solicitação poderá se perder. A representação da solicitação é significativa porque está sendo usada em todos os componentes da cadeia de responsabilidade. Outra falha que poderia estar na concepção do CR é que, devido a alguns problemas no manipulador de concreto, alguns pedidos podem acabar totalmente sem tratamento no final da cadeia. Mas, em suma, a cadeia de responsabilidades é um bom sistema a ser implementado se tiver sido cuidadosamente projetado, considerando todos os aspectos relacionados.