[#] Фотографируем объекты в C#: хроника и сопоставление снимков, реконструкция состояния по снимку
habrabot(difrex,1) — All
2017-07-21 21:30:04


При разработке приложений часто встречается следующий сценарий: имеется некоторый набор данных доступных для просмотра и редактирования, например, это могут быть бизнес-сущности или настройки приложения. В момент, когда пользователь решает что-либо отредактировать, ему обычно становится доступна специальная форма с нужными полями ввода-вывода и другими элементами управления. Если он вносит какие-либо корректировки в данные, то при обработке формы хорошим тоном является запрос-подтверждение перед окончательным применением внесённых правок. В случае согласия пользователя данные обновляются в источнике и на интерфейсе, а при отмене используются старые значения.

Данная задача включает две подзадачи:

1) когда пользователь уходит с формы редактирования, необходимо понимать, действительно ли он произвёл изменения, чтобы не задавать вопрос на подтверждение впустую и не перезаписывать идентичные данные;

2) если редактированию подвергается непосредственно исходная сущность, а не её копия, то в случае отмены необходимо сохранять возможность отката к исходным значениям.

В статье мы рассмотрим обобщённый и очень лаконичный [размером в несколько строк кода!] подход к решению подобного рода задач, основанный на использовании библиотеки [Replication Framework][1].

![image][2][Читать дальше →][3]

[1]: https://www.nuget.org/packages/Art.ReplicationFramework.Trial/
[2]: https://habrastorage.org/getpro/habr/post_images/cb4/bec/1cd/cb4bec1cde8e695b2b449a4dfb179668.png
[3]: https://habrahabr.ru/post/333846/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut