Хотя на домашней странице рефрейминга написано, что «сохранение и отмена становятся довольно простыми», пример приложения рефрейминга todomvc не имеет кода, реализующего функцию отмены/повтора.
При использовании объектно-ориентированного языка, такого как Java, обычной практикой является реализация отмены/возврата с помощью командного интерфейса для выполняемых действий, сохранение их с их «инверсиями» и (повторное) выполнение из набора сохраненных объектов команд.
Хотя я прочитал страницу эквивалентов Clojure общих шаблонов проектирования OO включая Command здесь. было бы полезно увидеть отмену/возврат, реализованную с помощью реагента, рефрейминга в каком-то примере или приложении.
Вопрос. Как реализовать отмену и повтор операций в приложениях грубого типа при использовании реагента и повторного кадрирования?