Патерни проєктування · Middle · Запитання 7 з 75
Як реалізувати undo/redo через патерн «Команда»?
- ✓Правильна відповідь: Зберігати стеки команд, кожна має
executeіundo - 2Зберігати копію всього DOM після кожної дії користувача
- 3Перезавантажувати сторінку й повторювати всі дії, крім останньої
Пояснення
Виконана команда кладеться в стек undo; скасування викликає undo() і переносить команду в стек redo. Нова дія очищує redo. Альтернатива для іммутабельного стану - патерн Знімок: зберігати минулі версії стану.