Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
politécnica de
Chimborazo
CHAIN OF RESPONSABILITY
INTEGRANTES:
ALEXANDER TUBÓN
RODRIGO LAZO
Chain of Responsability
Clasificación. Comportamental.
Intención. Evita acoplar el emisor de una petición con el receptor, dando a más de un
objeto la posibilidad de responder a la petición. Encadena los objetos receptores y
pasa la petición a través de la cadena hasta que es procesada por algún objeto
Alias. Cadena de Responsabilidades
Chain of Responsability
Motivación.
La idea del patrón es desacoplar a los emisores de los receptores, dándole a varios objetos
la posibilidad de tratar una petición. La petición se pasa por una cadena de objetos hasta
que uno de ellos la procesa.
Aplicabilidad.
Usamos Cadena de responsabilidades cuando:
Hay más de un objeto que pueden manejar una petición y esa petición no se
conoce a priori, sino que se debe de determinar automáticamente.
Se quiere enviar una petición a un objeto entre varios sin especificar explícitamente
el receptor.
El conjunto de objetos que pueden tratar una petición debería ser especificado
dinámicamente.
Chain of Responsability
Estructura
Chain of Responsability
Participantes
Manejador
Define una interfaz para tratar las peticiones.
Implementa el enlace al sucesor (opcional).
Manejador Concreto
Trata las peticiones de las que es responsable
Puede acceder a su sucesor
Si el Manejador Concreto puede manejar la petición, lo hace, en caso contrario la
reenvía a su sucesor.
Cliente
Inicializa la petición a un objeto Manejador Concreto de la cadena
Chain of Responsability
Implementación
Implementar el sucesor en la cadena. Existen dos posibilidades: Definir un nuevo
sucesor, usar un sucesor existente.
Conexión de los sucesores. Los propios ConcreteHandler serán los que se encargarán
de reenviar la petición de forma incondicional. Las referencias deberán estar
definidas.
Representación de las peticiones. Uso de paso de parámetros o variables mediante
una función manejadora, o hacer uso de clases.
Chain of Responsability
Código de ejemplo.
Banco (Solicitud de Préstamo )
Si el monto no supera los $ 10.000 entonces el ejecutivo de cuenta pueda aprobar
el préstamo.
Si el monto esta entre los $10.000 y $50.000 entonces la persona indicada para
realizar la aprobación es el líder inmediato de dicho ejecutivo.
Si el monto se encuentra entre $ 50.000 y $100.000 entonces es el Gerente quién
debe realizar dicha aprobación.
Por montos superiores a los $100.000 entonces la aprobación la realizará el Director.
Patrones relacionados. Composite.