❓ Расскажите о паттерне State
State — это поведенческий паттерн, который позволяет объекту менять своё поведение при изменении внутреннего состояния. Извне кажется, что объект сменил свой класс.
Простыми словами: банкомат ведёт себя по-разному в зависимости от состояния: ожидание карты → ввод PIN → выбор операции. Одна и та же кнопка делает разные вещи.
▪️ Когда использовать
— Объект ведёт себя по-разному в зависимости от состояния
— Много if/switch по статусу — признак, что нужен State
— Количество состояний может расти
▪️ State vs Strategy
— Strategy: клиент выбирает алгоритм
— State: объект сам переключает поведение при смене состояния
▪️ Минус
Избыточен, если состояний всего 2–3 и переходы простые.
Post #1282
1.12K
- 👍 5
- ❤ 1
- 🔥 1