Fallback en C#: Guía Completa

Introducción: plan B

Fallback es alternativa cuando principal falla. Pagas con tarjeta, falla. Fallback: paga mañana. Buscas producto, DB lenta. Fallback: últimos resultados cacheados. Llamas a API remota, timeout. Fallback: datos locales. Diseñar fallback requiere: (1) identificar punto de fallo (payment, search, external call), (2) tener alternativa viable (cached data, local cache, deferred action), (3) comunicar al usuario (es dato viejo). Ventaja: resiliencia, mejor UX que error. Desventaja: staleness, complejidad (dos caminos). Usa cuando staleness es aceptable (productos, búsquedas) NOT para datos críticos (dinero, inventario crítico).

Fallback
Prompt: alternate path sign, minimal style.

1. Naturaleza: alimento alternativo

Si escasea un recurso, las especies buscan una alternativa para sobrevivir.

Alternativa
Prompt: animals switching food source, soft illustration.

2. Mundo Real: catálogo degradado

Si el buscador falla, se muestra el top de productos más vendidos.

Catálogo
Prompt: fallback catalog list, flat infographic.

3. Implementación en C#: Código Paso a Paso

try {
    return await service.GetCatalog();
} catch {
    return await cache.GetTopProducts();
}

Define fallback coherente, no cualquier valor vacío.

4. Fallback vs Retry

Retry intenta nuevamente; fallback entrega una respuesta alternativa inmediata.

5. Diagrama UML

UML Fallback
Prompt: UML fallback pattern, clean vector.
Flow Fallback
Prompt: fallback flow diagram, minimal infographic.

⚠️ Cuándo NO Usar Fallback

  • Si la respuesta alternativa es peligrosa o engañosa.
  • Si debes fallar rápido para alertar al usuario.

💪 Ejercicio

Define un fallback útil para un servicio de recomendaciones.

Conclusión

Fallback mantiene el servicio operando aún con degradación.