State of JavaScript 2024: Все, что нужно знать! Главные фичи JS за год. Полный обзор State of JS
🧠 State ≠ State Machine: разбираем поведенческий паттерн, который часто путают
Хотел написать короткий пост о своём любимом паттерне проектирования. Но пока разбирался — понял, что знаю о нём гораздо меньше, чем думал 😅 В итоге короткий пост превратился в полноценный лонгрид с примерами. Буду публиковать его по кусочкам. Рассказываю, что такое паттерн State, когда его использовать, как не перепутать его с State Machine. 👇 State паттерн ("Состояние") — это поведенческий паттерн проектирования, который позволяет объекту изменять своё поведение в зависимости от внутреннего состояния...
State Machine: когда State уже недостаточно
Паттерн State отлично подходит для управления поведением объекта в зависимости от его состояния. Но что делать, когда логика переходов между состояниями усложняется? Например в наших требованиях появляются: В таких случаях подходящим решением будет использование - State Machine/Finite State Mashine (FSM - Конечный автомат). Идея конечного автомата (FSM) уходит корнями в математику и теорию автоматов 1940–1950-х годов. Она была описана в работах таких учёных, как Алан Тьюринг, Стивен Клини и Майкл Рабин, как модель вычислений...