Встречается на 2% собеседований по Java
Как избежать большого количества проверок с помощью if
Используйте полиморфизм и стратегии. Замените условные операторы на вызовы методов разных реализаций общего интерфейса.
Пример:
java
interface Handler {
void handle();
}
class HandlerA implements Handler {
public void handle() { System.out.println("A"); }
}
class HandlerB implements Handler {
public void handle() { System.out.println("B"); }
}
// Вместо if-else
Map<String, Handler> handlers = Map.of(
"A", new HandlerA(),
"B", new HandlerB()
);
handlers.get(type).handle(); // Динамический выбор реализации
text
Также можно использовать:
- **enum** с методами
- **Chain of Responsibility**
- **Фабрики** или **Dependency Injection**
- **Паттерн State** для управления сложными состояниями
Это делает код чище, расширяемым и тестируемым.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы