Graceful Degradation
Dégradation élégante
La dégradation élégante maintient le cœur du fonctionnement lorsqu'une dépendance optionnelle échoue. Le résultat peut être plus petit, ancien ou moins détaillé.
dependency failure -> safe reduced mode -> user notice -> observe -> restore full modeRECHERCHE✓travail en coursPANIER✓travail en coursRECOMMANDER−temporairement cachédependency failure -> safe reduced mode -> user notice -> observe -> restore full modeSREUn autre exemple
Le service de recommandations échoue. La recherche, les pages de produit et le panier fonctionnent toujours. La page cache les recommandations et explique le changement temporaire.
Parties principales
- 01Travail utilisateur principal
- 02dépendance optionnelle
- 03détecteur d'échecs
- 04Résultat réduit sûr
- 05Avis de l'utilisateur
- 06Vérification de récupération
Utilisez-le lorsque
Utilisez-le lorsque le travail principal de l'utilisateur reste sûr sans dépendance facultative. Définissez le résultat réduit, l'avis, le test et le chemin de récupération.
Ne l'utilisez pas lorsque
Ne dégradez pas un paiement, une autorisation ou un contrôle de sécurité lorsque des données manquantes rendent la réponse dangereuse. Ne jamais étiqueter des données obsolètes comme actuelles.
Nom utilisé dans le code
dependency failure -> safe reduced mode -> user notice -> observe -> restore full mode Avant d'expédier
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Dégradation élégante (Graceful Degradation). User context: Le service de recommandations échoue. La recherche, les pages de produit et le panier fonctionnent toujours. La page cache les recommandations et explique le changement temporaire. Technical concept or control: Dégradation élégante (Graceful Degradation). Why it fits: Utilisez-le lorsque le travail principal de l'utilisateur reste sûr sans dépendance facultative. Définissez le résultat réduit, l'avis, le test et le chemin de récupération. Do not use it when: Ne dégradez pas un paiement, une autorisation ou un contrôle de sécurité lorsque des données manquantes rendent la réponse dangereuse. Ne jamais étiqueter des données obsolètes comme actuelles. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Vérifiez cette demande
Review how Dégradation élégante (Graceful Degradation) is used now. Definition: La dégradation élégante maintient le cœur du fonctionnement lorsqu'une dépendance optionnelle échoue. Le résultat peut être plus petit, ancien ou moins détaillé. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.