Патерн «Стан» (скінченний автомат)
Коротко: Патерн «Стан» дозволяє об’єкту змінювати поведінку, коли змінюється його внутрішній стан. За ним стоїть ідея скінченного автомата.
Докладніше: В автомата є стани (наприклад, «відкрито», «сплачено», «надіслано», «скасовано») і допустимі переходи. Замість того щоб розмазувати безліч перевірок if за значенням статусу, кожна поведінка інкапсулюється у власному стані.
Подробиці
- Приклад із замовленням: із «відкрито» можна…
Див. також: патерн «Стратегія», патерн «Команда»