Publicación enviada al blog por María Mercedes Hernando (si querés enviar tus posts ingresá a Enviá tu post)

Aquí les dejo algo sobre Cadena de Responsabilidades y un link para ver un ejemplo bastante claro y bien explicado (está en ingles). Espero sirva para realizar sus propias investigaciones, hacer el práctico y ganarse unos puntos más.

Cadena de Responsabilidades:

Permite establecer una cadena de objetos receptores a través de los cuales se pasa una petición formulada por un objeto emisor. La idea es que cualquiera de los receptores pueden responder a la petición en función de un criterio establecido. Encadena los objetos receptores y pasa la petición a través de la cadena hasta que es procesada por algún objeto.
Busca evitar un montón de if – else largos y complejos en nuestro código, pero sobre todas las cosas busca evitar que el cliente necesite conocer toda nuestra estructura jeráquica y que rol cumple cada integrante de nuestra estructura.
En múltiples ocasiones, un cliente necesita que se realice una función, pero o no conoce al servidor concreto de esa función o es conveniente que no lo conozca para evitar un gran acoplamiento entre ambos.

Se utiliza cuando:

  • Las peticiones emitidas por un objeto deben ser atendidas por distintos objetos receptores.
  • No se sabe a priori cual es el objeto que me puede resolver el problema.
  • Cuando un pedido debe ser manejado por varios objetos.
  • El conjunto de objetos que pueden tratar una petición debería ser especificado dinámicamente.
  • La motivación detrás de este patrón es crear un sistema que pueda servir a diversas solicitudes de manera jerárquica. En otras palabras, si un objeto que es parte de un sistema no sabe cómo responder a una solicitud, la pasa a lo largo del árbol de objetos. Como el nombre lo implica, cada objeto de dicho árbol puede tomar la responsabilidad y atender la solicitud.

Link: http://www.slideshare.net/hlegius/chain-of-responsibility-pattern-27624830#btnNext

GRACIAS MECHI!

Anuncios