Паттерн «Состояние» (конечный автомат)
Коротко: Паттерн «Состояние» позволяет объекту менять поведение при изменении его внутреннего состояния. За ним стоит идея конечного автомата.
Подробнее: У автомата есть состояния (например, «открыт», «оплачен», «отправлен», «отменён») и допустимые переходы. Вместо того чтобы размазывать множество проверок if по значению статуса, каждое поведение инкапсулируется в собственном состоянии.
Подробности
- Пример с заказом: из «открыт» можно…
См. также: паттерн «Стратегия», паттерн «Команда»