View, я через std::bind передаю в команду сам метод для коллбэка и параметры. Пусть есть такой воркфлоу:
1. Добавили блок.
2. Добавили на него текст.
3. Удалили блок.
4. Ctrl + Z.
Блок был удален с кучи, при восстановлении поинтер на него устареет у текста. Кроме того, я должен передавать все эти var1-3 для работы метода, так как он их использует.
ВОПРОС
Какого хрена я этим занимаюсь?(зачеркнуто).
Как это правильно организовать на сущесвтующей архитектуре?
P.S. Данный пример илюстрирует только малую долю зависимостей, есть например классы, которые должны всегда иметь валидные поинтеры на все элементы виджета и т.п.
UPD
class MyCommand : public UndoCommand
ты уже прочитал про это в GoF? тщательно?
А как это вообще должно работать? Блок удалили. Что семантически должна делать команда "вернуть текст на удалённый блок"?
Обсуждают сегодня