У меня есть приложение, в котором пользователь может изменять данные на экране в форме (представленной в виде объектов в коде c ++), и когда пользователь хочет закрыть окно, я хочу спросить, следует ли сохранить или отменить изменения.
Если пользователь хочет сохранить, отредактированный объект должен быть сохранен в базе данных, и объект в памяти, конечно, также должен быть актуальным.
Если пользователь хочет отменить изменения, я хочу, чтобы объект в памяти был восстановлен до его предыдущего состояния.
Я не уверен, как реализовать это настолько эффективно, насколько это возможно, особенно отмена изменений. Вот некоторые варианты, которые я рассматриваю:
Я создаю копию объекта в памяти где-нибудь в форме logi c и изменяю ее, и если пользователь хочет сохранить ее Я заменяю предыдущий объект в памяти на измененный.
То же, что и выше, но объект каким-то образом сохраняет свою копию вместо того, чтобы поместить ее в форму logi c.
Я отслеживаю, какие поля формы изменились, и обновляю соответствующие элементы объекта, только если пользователь хочет сохранить (избегая потенциально большой операции копирования)?
Это кажется такой обычной вещью в приложениях, так что, может быть, есть стандартный способ сделать это или шаблон проектирования?