Observer
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Según el libro "Patrones de Diseño" el patrón Observer "define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambie de estado se notifique y se actualicen automáticamente todos los objetos que depende de él".
Dependents (Dependientes), Publish-subscribe (Publicar-Suscribir)
Sujeto:
conoce a sus observadores. Un sujeto puede ser observado por cualquier número de variables Observador.
proporciona una interfaz para asignar y quitar variables Observador.
Observador:
define una interfaz para actualizar las variables que deben ser notificadas ante cambios en un sujeto.
SujetoConcreto:
almacena el estado de interés para las variables ObservadorConcreto.
envía una notificación a sus observadores cuando cambia su estado.
ObservadorConcreto:
mantiene una referencia a una variable SujetoConcreto.
guarda un estado que debería ser consistente con el del sujeto.
implementa la interfaz de actualización del Observador para mantener su estado consistente.
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
El Sujeto y Observador se definen como interfaces por simplificación.
En este ejemplo queremos que postulantes a empleos sean notificados cuando se creen ofertas laborales.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
|
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en