Warum als Decorator?
Der fachliche Port PaymentGateway bleibt stabil. Der echte Provider wird durch einen Resilience Decorator geschützt. Dadurch muss der Use Case nichts über Retry, Timeout oder Circuit Breaker wissen.
Fehlergrenze
PaymentProviderUnavailableException übersetzt technische Fehler in einen stabilen API-Fehler. Clients bekommen nicht zufällig Stacktraces oder Providerdetails.