Я принял технику, в которой я передаю существующие объекты в формы, чтобы они могли отображать содержимое объекта и позволять пользователю изменять его при необходимости. Форма не привязана к объекту, поэтому, когда приходит время действовать, форма подметает содержимое своих элементов управления и помещает их в объект. Затем объект проверяется и о любых проблемах сообщается пользователю. Если объект действителен, он может быть возвращен вызывающей стороне, чтобы вызывающая сторона могла обновить представление / список / и т. Д.
Пока все хорошо. Однако, если содержимое формы или ее отсутствие создает недопустимый объект, а пользователь не исправляет его, возможно, отменяя форму, есть вероятность, что форма передаст недопустимый объект вызывающей стороне. Это не хорошо.
По сути, я ищу элегантный и эффективный способ либо оставить объект как есть, либо откатиться, если пользователь отменяет форму / действие.
Я рассмотрел ряд методов, каждый из которых имеет много плюсов и минусов. Я заинтересован в рассмотрении некоторых других взглядов.