Я хотел бы создать класс Undo & Redo для редактора изображений без создания всего шаблона команды.
На самом деле в моем коде я использую шаблон MVC, и поэтому я получил набор атрибутов, которые обновляются каждый раз, когда я запускаю действие:
class model{
...code...
public:
bool is_Flipped_V = false;
bool is_Flipped_H = false;
bool is_Rotated = false;
bool is_Blurred = false;
bool is_Sharpened = false;
bool is_Grayscale = false;
bool is_Sepia = false;
bool is_Loaded = false;
bool is_Saved = false;
int exposure_Val;
double contrast_Val;
int red_Val;
int green_Val;
int blue_Val;
int hue_Val;
int saturation_Val;
int luminance_Val;
int angle_Val;
}
Моя идея состоит в том, чтобы создать список, чтобы каждый раз, когда наблюдатель получал уведомление, он записывал фактическое состояние всех верхних атрибутов.
Поэтому, когда я хочу что-то «отменить», я могу просто обновить свое изображение, передав предыдущие состояния атрибутов.
Кто-нибудь когда-нибудь делал что-то подобное? Как я могу сохранить состояния атрибутов в списке?
Есть ли другой, но лучший способ реализовать это?