¿Qué patrón encaja con 'avisar a los servicios de correo, analítica e inventario cada vez que se hace un pedido'?
Opciones
- Observer: los suscriptores reciben aviso de cada pedido nuevo (Opción correcta)
- Singleton: un servicio compartido gestiona todos los pedidos
- Builder: cada pedido se monta paso a paso
- Prototype: cada pedido se clona desde una plantilla
Respuesta
Observer (publish/subscribe)
Por qué
Observer: un objeto (el subject) mantiene una lista de suscriptores y avisa a todos cuando ocurre algo.
El código del pedido solo anuncia 'pedido realizado'; no sabe quién escucha. Puedes añadir un listener nuevo (por ejemplo puntos de fidelidad) sin tocar el código del pedido.
En sistemas más grandes la misma idea se convierte en un event bus o una cola de mensajes.
Recuerda
Observer = 'avisar a todos los suscritos'.