Встречается на собеседованиях • сегодня
Что такое паттерн State
Паттерн State позволяет объекту изменять свое поведение при изменении его внутреннего состояния. Внешне это выглядит так, будто объект изменил свой класс.
Пример:
java
interface State {
void handle(Context context);
}
class ConcreteStateA implements State {
public void handle(Context context) {
context.setState(new ConcreteStateB());
}
}
class ConcreteStateB implements State {
public void handle(Context context) {
context.setState(new ConcreteStateA());
}
}
class Context {
private State state;
text
public Context(State state) {
this.state = state;
}
public void setState(State state) {
this.state = state;
}
public void request() {
state.handle(this);
}}
text
**Использование:**
```java
Context context = new Context(new ConcreteStateA());
context.request(); // Переключится в StateB
context.request(); // Вернется в StateAПлюсы:
- Избегает больших условных операторов.
- Упрощает добавление новых состояний.
- Инкапсулирует логику состояний в отдельные классы.
Минусы:
- Может усложнить код, если состояний мало.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы