Сохранение и восстановление внутреннего состояния объекта без нарушения инкапсуляции. 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, снапшотов, отката конфигурации.