Сценарии действительно являются хорошим способом обработки частей бизнес-логики, которые могут измениться.
Однако я подозреваю, что проблема в том, что вам не хватает подходящей объектной модели. Наличие большого количества IF указывает на то, что у вас есть централизованная логика, и тогда решения зависят от многих факторов, которые вы все должны проверить, и в итоге вы получите беспорядок.
Это симптоматично работать с данными напрямую, а не с объектами. Когда вы манипулируете данными напрямую, вы должны знать все применимые правила.
Я всегда поддерживаю модельно-ориентированные решения. При правильно спроектированной объектной модели обязанности распределяются между классами в модели, таким образом удаляя горячие точки. Это соответствует принципу единой ответственности и Не повторяйся .
Задача, конечно, состоит в том, чтобы смоделировать проблемную область, но я рекомендую этот путь.