Objetivo: Implementar el patrón Observador para crear un sistema de notificaciones en un escenario de subasta en línea, donde los participantes reciben actualizaciones cuando cambia el precio de un artículo.
Escenario
Un sistema de subastas en línea donde los participantes (observadores) se suscriben para recibir notificaciones del cambio de precio del artículo subastado.
Tareas
Crear una clase Subasta que maneje el precio actual del artículo y notifique a todos los observadores cuando este cambie.
Crear una clase Participante que actúe como observador, recibiendo notificaciones cuando el precio cambia.
Implementar la lógica para suscribir y desuscribir participantes a las notificaciones de la subasta.
Implementación
1. Definición de Clases
Clase Subasta:
Atributos para almacenar el precio actual y una lista de observadores.
Método para añadir y remover observadores.
Método notificarObservadores para actualizar a todos los observadores sobre cambios de precio.
Clase Participante:
Método para recibir actualizaciones del precio.
2. Lógica de Interacción
Cuando el precio de la subasta cambia, se debe notificar a todos los participantes registrados sobre el nuevo precio.
3. Prueba del Sistema
Instanciar una Subasta.
Crear varios Participantes y suscribirlos a la Subasta.
Cambiar el precio en Subasta y verificar que todos los participantes reciban la notificación.
Objetivo de Aprendizaje
Comprender cómo los objetos en un programa pueden comunicarse entre sí sin estar fuertemente acoplados, mediante el uso del patrón Observador.
Resolver un problema común en sistemas que requieren interacciones basadas en eventos, aplicando un patrón de diseño clásico.
Elabora el demo en:
Actividad del Patrón Observador en C
Descripción de la Actividad
Objetivo: Implementar el patrón Observador para crear un sistema de notificaciones en un escenario de subasta en línea, donde los participantes reciben actualizaciones cuando cambia el precio de un artículo.
Escenario
Un sistema de subastas en línea donde los participantes (observadores) se suscriben para recibir notificaciones del cambio de precio del artículo subastado.
Tareas
Subasta
que maneje el precio actual del artículo y notifique a todos los observadores cuando este cambie.Participante
que actúe como observador, recibiendo notificaciones cuando el precio cambia.Implementación
1. Definición de Clases
Subasta
:notificarObservadores
para actualizar a todos los observadores sobre cambios de precio.Participante
:2. Lógica de Interacción
3. Prueba del Sistema
Subasta
.Participantes
y suscribirlos a laSubasta
.Subasta
y verificar que todos los participantes reciban la notificación.Objetivo de Aprendizaje