Chain Of Responsability
Click here to load reader
-
Upload
jlrvpuma -
Category
Technology
-
view
1.245 -
download
0
Transcript of Chain Of Responsability
Patrones de Diseño – Chain of Responsability
●Permite desacoplar al objeto que realiza una petición de aquellos quienes
pueden tratarla.
●La petición se lanza a una cadena de objetos que se "la van pasando" hasta
que uno de los objetos la maneja.
Se utiliza cuando :
●En función del estado del sistema las peticiones emitidas por un objeto
deben ser atendidas por distintos objetos receptores.
●Los objetos receptores de una petición deberían ser especificados
dinámicamente
Patrones de Diseño – Chain of Responsability
Estructura :
Una típica estructura del objeto luciría así :
Patrones de Diseño – Chain of Responsability
●Handler :
Define una interface para el manejo de peticiones.
Además, opcionalmente, implementa el link al objeto sucesor(succesor) en la
cadena que manejará o no la petición.
●ConcreteHandler :
Maneja las peticiones de las que es responsable.
Puede accesar a su sucesor(succesor).
Si el ConcreteHandler puede manejar la petición, lo hace, si no, la pasa a su
sucesor.
●Client:
Inicia la petición a un objeto ConcreteHandler en la cadena.
Participantes :
Patrones de Diseño – Chain of Responsability
Colaboración :
Cuando un cliente envía una petición, ésta se propaga a lo largo de la cadena
hasta que un objeto ConcreteHandler toma la responsabilidad de manejarla.
Consecuencias :
●Reduce el acoplamiento entre el objeto emisor de la petición y el objeto receptor
de la petición.
●Proporciona flexibilidad asignando responsabilidad a los objetos.
●Es posible que la petición no se manejada o recibida.