DevLearn logo
Skill Up With Me
Interactive Learning
Signing in…

Состояние

🔒 Sign in to use this

Состояние — поведенческий паттерн, позволяющий объекту менять своё поведение при изменении его внутреннего состояния. Внешне кажется, что объект меняет свой класс. Вместо разрастающихся блоков if/switch, проверяющих переменную состояния и ветвящих поведение, каждое состояние инкапсулируется в отдельный класс. Контекст делегирует поведение текущему объекту-состоянию, заменяя его при переходе. Представьте светофор: одно и то же действие «переключить» даёт совершенно разный результат в зависимости от того, горит ли сейчас красный, зелёный или жёлтый.

ℹ️Ключевая идея: заменить условные операторы, зависящие от состояния, семейством объектов-Состояний. Контекст хранит ссылку на текущее Состояние и делегирует ему всё зависящее от состояния поведение. Переходы осуществляются заменой объекта-состояния.
Content is available with subscription.
Get full access to all courses on the platform for one year with a single payment.
Unlike other platforms that charge per course, here you get everything for one price, and after one year of use there will be no automatic charge for the following year.
🔒 Sign in to use this