Что такое Memento?

Ответ

Сохранение и восстановление внутреннего состояния объекта без нарушения инкапсуляции. Memento - объект-снимок состояния; Originator создает и восстанавливается из снимка; Caretaker хранит снимки.

class Memento { public function __construct(private string $state) {}
    public function getState(): string { return $this->state; }
}
$originator->save(); // создает Memento
$caretaker->add($originator->saveToMemento());
$originator->restore($caretaker->get(0));

Используется для Undo, снапшотов, отката конфигурации.

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