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