Patrón Observer

Recuerdo cuando no existía Spring y la terminología “Patronil” son sus Singleton, sus Factorías, y hasta su patrón MVC (cuando los frameworks MVC eran aún peor que lo que se te ocurría a ti J).

Con Spring, no sé si por suerte o desgracia, ese conocimiento se ha ido perdiendo y muchas personas no conocen ni siquiera el patrón Singleton.

Uno de mis patrones favoritos es el Patrón Observer:

Este diagrama de secuencia muestra cómo funciona:

Y este código la implementación del Patrón en Java:

Por un lado tenemos el objeto observable, es decir del que queremos conocer cambios en su estado:

Por otro lado el observador, el que quiere recibir los cambios cuando se producen en el objeto observable:

Finalmente declaramos que el Observador quiere enterarse de los cambios en el Observable:

Para que el Observador reciba el cambio basta con que cuando se produzca un cambio interno el observado se lo notifique a los observadores.

Hay otras implementaciones del Patrón más potentes con soporte de Cluster, o incluso se puede usar el mismo Spring para implementar el mecanismo (http://www.theserverside.com/tt/articles/article.tss?l=SpringLoadedObserverPattern) pero es cierto que cuando más sencillo todo menos problemas da J

Respuestas

  1. […] El patrón Event Bus básicamente permite a objetos suscribirse a ciertos eventos del Bus, de modo que cuando un evento es publicado en el Bus se propaga a cualquier suscriptor interesado. Este patrón puede verse como un reemplazo del patrón Observer (https://unpocodejava.wordpress.com/2010/02/03/patron-observer/) […]

  2. Muy bien ando implem,entandolo ahora mismo

Replica a Patrón Event Bus « Java Mania Cancelar la respuesta