jueves, 28 de mayo de 2009
Chain of Responsibility

La idea del patrón Chain of Responsibility 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.

Características generales de este patrón:

Nombre:

Chain of Responsibility.

También conocido como:

Cadena de Responsabilidad.

Propósito:

Evita acoplar el emisor de una petición a su 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.

Aplicabilidad:

Este patrón se utiliza generalmente cuando:

· Hay un grupo de objetos en un sistema que potencialmente pueden responder para el mismo tipo de mensaje.

· Los mensajes deben ser manejados por uno de varios objetos dentro del sistema.

· Algunos eventos pueden ser manipulados en el nivel donde son recibidos o elaborados, mientras que otros deben ser enviados a otros objetos.

Estructura:

Participantes:

· Handler: Define una interfaz para tratar las peticiones, implementa el enlace al sucesor.

· ConcreteHandler: Trata las peticiones de las que es responsable, puede acceder a su sucesor. Si el ConcreteHandler puede manejar la petición, lo hace, en caso contrario la reenvía a su sucesor.

· Client: Inicializa la petición a un objeto ConcreteHandler de la cadena.

Consecuencias:

· Reduce el acoplamiento.

· Añade flexibilidad para asignar responsabilidades a objetos.

· No se garantiza la recepción.

Patrones relacionados:

· Composite.

Etiquetas: , , ,

 
posted by Camilo Mojica at 22:16 | Permalink |


0 Comments: