viernes, 29 de mayo de 2009

Chain of Responsability

Propósito
Establecer una cadena en un sistema, para facilitar la respuesta a un mensaje ya que este puede ser tratado en el nivel en que se adopta o ser redirigido a un objeto que si pueda operarlo.
Aplicabilidad
Use el patrón chain of responsability cuando un mensaje deba ser manipulado por un objeto de entre diversos del sistema, exista un conjunto de objetos de un sistema que pueden ser capaces de responder al mismo mensaje de forma eficiente, algunos de los eventos pueden ser manejados en el nivel en el cual se reciben o producen mientras que los otros tengan que redirigirse a otro objeto.
Implementación
El patrón chain of responsability necesita de los siguientes elementos:
•    Handler: La interfaz en la que se define el método utilizado para pasar un mensaje al siguiente manejador.
•    ConcreteHandler: La clase que implementa la interfaz Handler. Mantiene una referencia a la siguiente instancia de Handler.
Ventajas e Inconvenientes
Brinda una gran flexibilidad para el procesamiento de sucesos de una aplicación, esta flexibilidad que regala tiene un precio por que este patron es difícil de desarrollar, comprobar y depurar.
Si se producen muchos mensajes en un pequeño lapso de tiempo y estos son redireccionados muchas veces antes de haber sido manejados, se deteriora el rendimiento del sistema
Patrones Relacionados
•    Composite: Cuando se combinan, Composite brinda soporte para una estructura basada en árbol y la propagación de mensajes, y Chain of responsability proporciona las reglas de propagación de estos mensajes.

No hay comentarios:

Publicar un comentario