Вопрос проверяет понимание полиморфизма и принципов расширяемой архитектуры.
Короткий ответ
if/switch заменяются полиморфизмом.
Каждая ветка логики оформляется в отдельную реализацию интерфейса.
Выбор реализации происходит через Map.
Добавление новой логики не требует изменения существующего кода.
Это соответствует принципу Open–Closed.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.