Допустим есть некая операция типа перевод с одного счета на другой с использованием внешних сервисов и своей базы данных. Оформлено в методе, скажем, Fun1.
Что-то может отвалиться, к примеру, временно может не работать внешний сервис — возникнет WebException или там временно перестанет работать база.
Вопрос такой — как вы реализуете повторный запуск/повторную попытку после исключения?
К примеру, можно весь метод Fun1 вызывать повторно бесконечное количество раз. Или же вызывать только n раз.
А можно иначе сделать — вызывать повторно только те части кода, которые, по вашему видению, наиболее вероятно могут упасть. К примеру, применить Retry-паттерн только для вызова метода внешнего сервиса. Ну и тут опять же вопрос — повторять ли бесконечно или же n раз?