Я пытаюсь закодировать сценарий типа «отмена» или «откат».Часть меня думает, что я слишком усложняю это, и это должно быть решено раньше.
Справочная информация: У меня есть Продукт (например, книга), у продукта есть 20 полей.Продукт имеет тип носителя (PDF, Hardcopy, EPUB), и каждый тип носителя имеет несколько цен (цена, местоположение, т. Е. Европа, Азия, Америка).
Глядя на предыдущие вопросы, образец сувенира кажетсяближайший, но я не уверен, как сделать несколько уровней.
Например, Изменить 1 - Создайте продукт "Кодирование для чайников", он доступен в Hardcopy и доступен за $ 100в Европе и 75 долларов в Азии
Изменение 2 - Измените цену на печатную версию в Европе до 90 долларов.Добавьте PDF, для Европы это будет стоить 90 долларов, а для Азии - 75 долларов
Изменить 3 - удалить запись в печатном виде
Изменение 3 было ошибкой, я хотел бы откатИзменить 2.
Глядя на предыдущий вопрос , Memento шаблон , кажется, ближе всего, но я бы скопировал очень много данных.то есть в Изменениях 2 и 3 вы повторяете Продукт, Носитель и Ценообразование.
Набор данных, который я использую, содержит почти 1 000 000 продуктов.(Приведенный выше пример упрощен). На самом деле в Product имеется около 50 полей, в Media Type - около 15 полей
Есть ли лучший способ?