Home > Uncategorized > Chain of responsibility eventbus

Chain of responsibility eventbus

Hoy vengo a hablar de una nueva librería java que resuelve una limitación del patrón Cadena de responsabilidad:

http://es.wikipedia.org/wiki/Chain_of_Responsibility_%28patr%C3%B3n_de_dise%C3%B1o%29

Haciendo un breve resumen, con este patrón podemos modularizar nuestro código. Esto es bueno, porque obligamos a desarrollar el contenido en pequeñas partes, para luego ser reutilizado, eliminado y añadido mas facilmente. Estas pequeñas partes se ejecutarán en un orden, una detrás de otra, hasta que la cadena termine o un eslabón decida que no quiere continuar con la cadena.

Los eslabones no deberian tener referencias a otros eslabones concretos, porque estariamos rompiendo la modularidad. Generalmente, tienen una referencia al siguiente eslabón, pero se maneja en forma de interfaz.

El problema es el siguiente

Este patrón funciona muy bien cuando hay que desarrollar una serie de acciones aisladas, que poco tienen que ver unas con otras, ¿pero que pasa si algun eslabón necesita de un objeto que ya ha sido recuperado previamente por otro eslabón?. Con la habitual implementación habría que volverlo a recuperar. Esto puede ser lento y se puede repetir en muchas ocasiones a lo largo de toda la cadena.

Esta nueva librería aporta una solución sencilla a este problema. Consiste en la posibilidad de que las diferentes cadenas puedan postear cualquier objeto a un bus de eventos. El propio bus de eventos se encargará de asignar esos objetos al resto de eslabones que esten suscritos a objetos de ese tipo.

Os dejo el link:

https://code.google.com/p/chain-of-responsibility-eventbus/

Advertisements
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: