Операторы if-else являются неотъемлемой частью любого Java приложения. Но могут существовать сценарии, которые нам следует оценить, чтобы заменить условия if-else. Сегодня расскажу о некоторых сценариях и способах их рефакторинга. Приведенный выше код понятен и прост, но давайте заменим его тернарным оператором: Но как можно упростить множественный if-else со статическим результатом? Приведенный выше код также не оказывает никакого негативного влияния на читаемость кода. Мы можем оставить все как есть, или, если нам совершенно не нравится использовать if-else, мы можем заменить из на Map<>. Как видите, особой разницы в коде нет. Посмотрим на этот код: Приведенный выше код имеет потенциал роста, количество скидок может измениться. Понимая это мы видим, что может возникнуть несколько новых правил, которые могут нарушить Open Close Principle. Часто встречаются рекомендации замены блоков if-else путем создания большого количества классов. Давайте пойдем другим путем, воспользуемся абстрак