TeoríaPaso 1 de 14
Ya lo habéis escrito: el Observer del GoF
Las dos clases anteriores construyeron las piezas; hoy les ponemos nombre y contrato.
| Lo que escribiste | Cómo se llama hoy |
|---|---|
Clase 1 · Sensor: fuente con lista privada de listeners, alta, baja y difusión sobre una copia. |
Sujeto (Subject) y observadores. Le faltaba estado propio y contrato. |
Clase 2 · Despachador: Map tipo → lista de handlers; on() registra; despachar() difunde. |
Bus de eventos; el tipo era el topic. |
| Lo que falta | La pantalla como un suscriptor cualquiera: MVC / MVVM. |
Dos roles, cuatro operaciones
Sujeto · Subject / Observable
Tiene estado (p. ej. temperatura) y una lista de observadores. Operaciones: attach (suscribir), detach (desuscribir) y notify (notificar), que recorre la lista y llama a update() en cada uno.
Observador · Observer
Solo promete un método, update() (aquí actualizar(t)), que él nunca llama: se lo llama el sujeto. Pantalla pinta, Alarma avisa si se supera un umbral, Registro guarda.
Tres invariantes
- Solo el sujeto cambia su estado.
private set: nadie de fuera escribetemperatura. - Sin cambio, no hay aviso.
if (nueva == temperatura) return. - El observador no pregunta. Le llaman. No hace polling ni conoce a los demás.
Desacoplamiento: el termómetro solo sabe que le escuchan «observadores». Añadir un cuarto mañana no toca ni una línea de Termometro.
Responde para continuar
0/2TAREA 1
¿Qué significa GoF?
Elige una respuestaTAREA 2
¿Cuáles son invariantes del Observer tal como lo hemos definido?
Marca todas las correctas