Observer

Llega una hora de la noche en la que te das cuenta de que tienes que dejar de programar e irte a la cama. Esa hora varía en función de tu estado físico y mental, pero eres consciente de que algo falla cuando tus ojos están tan irritados y entrecerrados que ya no ves bien el código, o lo que es peor, crees ver rubias, morenas, pelirrojas

Sin lugar a dudas todas estas señales que envía tu acojonado cerebro que ya no puede más (hay que entenderlo, el cerebro evolucionó con un único objetivo muy alejado de los ceros y los unos: cazar ciervos en el bosque) tienen un factor en común, y es la absoluta falta de racionalidad.

El caso es que andaba yo liado con un problemilla y he pensado que la mejor solución vendría utilizando el patrón Observador. De modo que me he puesto a buscar cómo implementar un observer.

Pero mientras iba leyendo, sólo una imagen estaba ocupando toda mi atención, no era una imagen que saliera en las explicaciones, era lo que mi subconsciente relacionaba inmediatamente (a estas horas de la noche) con Observer. Tanto, que me he rendido y he decidido compartir con todos mi locura antes de irme a la cama.

Observer

Lo peor es que me acompañaba el ruidito.Y, como es evidente, con estas condiciones no es viable seguir estudiando. Al menos he llegado a la página de novedades del StarCraft 2 ―que lo saquen ya, ¡por favor!― y vuelvo a babear a la espera de que saquen la segunda parte. Ahí hay («¡Ay!» es el tercer uso de estas tres palabras homófonas) una descripción de la nave con vídeos ilustrativos de su imprescindible uso.

Acabo de comprobar que otro índice para saber si has llegado al estado de parar es cuando vuelves a leer antiguas viñetas de XKCD ―por un momento supuse que tendría que haber una hablando sobre este sexto estado de agregación de la materia― y te ríes más que la primera vez (de hecho te ríes en alto): Ballmer Peak, Real Programmers, GOTO, Donald Knuth, Python.

Únete a la conversación

4 comentarios

  1. Existe una implementación del patrón Observador en Java en el paquete java.util

    Todo objeto que deba ser observado tiene que heredar de la clase java.util.Observable

    El objeto que desea ser notificado cuando se producen cambios en un objeto Observable tiene que implementar la interfaz java.util.Observer

    Mediante el método addObserver(Observer) de la clase Observable se pueden añadir observadores

    La clase que implemente a Observer debe implementar el método update que es el que se ejecutará cada vez que sea notificado.

    Cunado desde un objeto Observable se desea notificar a un Observer hay que invocar a los métodos: setChanged() y notifyObservers()

    Ese es el funcionamiento básico, pero hay documentación más extensa por la red.
    De todas formas hice una miniaplicación para una cuestión de proyectos que lo usa, aquí se puede ver el código directamente.
    Puede que te sirva.
    Saludos.

  2. @Casia, calla, que seguro que te pasa lo mismo cuando estás hasta la madrugada con el fénix.

    @anjz, coño, gracias. Mira que estuve un rato buscando cosas sobre el Observer y no encontré nada de la clase de Java. Un gran favor que la traigan implementada. Al final no lo usé porque pensé que no me merecía la pena implementarlo para lo que lo iba a usar; pero al final se me está complicando y quizás me sirva de ayuda. A ver si me da tiempo probarlo antes del debate. Muchas gracias por la información.
    Por cierto, cuánto tiempo sin verte por aquí ;)

    ¡Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *