Что такое State?

Ответ

Поведение объекта зависит от внутреннего состояния; объект меняет класс поведения при смене состояния.

interface State { public function proceed(Order $order): void; }
class DraftState implements State { public function proceed(Order $o): void { $o->setState(new ConfirmedState()); } }
class Order {
    private State $state;
    public function proceed(): void { $this->state->proceed($this); }
}

Избегает больших switch/if по состоянию. Переходы инкапсулированы в классах состояний.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.