Skip to main content

¿Qué es una cadena de responsabilidad?

La cadena de responsabilidad (CDR) implica el proceso de indicar las actividades y responsabilidades de cada entidad en el patrón de diseño orientado a objetos. Hay dos elementos básicos en un diseño orientado a objetos; comandos de objetos y objetos de procesamiento. Los objetos de comando generan los comandos para los objetos de procesamiento y los objetos de procesamiento eligen entre los comandos que pueden manejar y pasan el resto a los demás en la cadena. Este es el principio básico en el diseño orientado a objetos, y hay mucha más flexibilidad en el diseño, como el nuevo recinto de los objetos en cualquier ubicación en el patrón de diseño de la cadena de responsabilidad.

La ventaja detrás del diseño orientado a objetos es que la comunicación no se limita al remitente y al receptor porque hay muchos objetos allí para manejar el comando del remitente. Hay una cadena de diferentes objetos que se alinean para manejar los comandos, y si uno no puede manejarlo, entonces puede pasarlo al siguiente en la cadena. La cadena de responsabilidad continúa hasta que uno de los objetos acepta el comando.

La cadena de responsabilidad debe ser más flexible y respaldar la incorporación de nuevos controladores en la cadena. Dado que cada controlador no puede realizar todas y cada una de las tareas, debe haber un grupo de controladores que puedan trabajar colectivamente. Podría haber algunos inconvenientes en la cadena de responsabilidad, ya que algunos de los comandos permanecen sin resolver, incluso al final de la cadena. Para abordar este problema, una solución es implementar todos los controladores para todas las solicitudes posibles.

Podría haber algunos problemas relacionados con los eslabones rotos en el sistema de la cadena de responsabilidad. Si el programador olvida vincular los comandos, la solicitud podría perderse. La representación de la solicitud es importante porque se está utilizando en todos los componentes de la cadena de responsabilidad. Otra falla que podría estar en el diseño del CDR es que debido a algunos problemas en el controlador de concreto, algunas solicitudes pueden terminar sin ser atendidas al final de la cadena. Pero, en general, la cadena de responsabilidad es un buen sistema para implementar si se ha diseñado cuidadosamente, considerando todos los aspectos relacionados.