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

3 comentarios

Deja un comentario