В моих предыдущих проектах я уже реализовал систему отмены в С++, и я знаю, как она работает. Я также знаю шаблон Command.
Я буду использовать настольное приложение С#/WPF и хотел бы основать мой дизайн на шаблоне M-V-VM.
Приложение будет:
- быть относительно небольшим проектом (рассчитанная на 2-3 недели работа для одного разработчика)
- имеют простую модель данных с персистентностью (linq to XML)
- поддержка отменить/повторить
Мне было интересно, есть ли у кого-нибудь опыт внедрения системы отмены, следуя шаблону M-V-VM. Как бы это было в нем? Как это можно извлечь из уведомлений INotifyPropertyChanged и INotifyCollectionChanged, поэтому при реализации моделей (бизнес-объектов) требуется минимальная работа.
Я бы подумал, что система отмены будет каким-то образом интегрирована в уровень ViewModel, так как это состояние пользовательского интерфейса.
Любая мысль?