Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Лапшекодим валидацию, или запрещаем вводить неправильные данные?

03.06.22 00:32
Re: Лапшекодим валидацию, или запрещаем вводить неправильные данные?
 
alex445 коренной житель
в ответ AlexNek 02.06.22 22:50, Последний раз изменено 03.06.22 00:33 (alex445)
Хочется ведь сериализовывать данные с полями валидации.
Сохранили вот данные пользователя, а затем восстановили. А между этим в программе ограничения изменились.

Если такая проблема, то не сериализуйте поля валидации. Или при десериализации полей валидации ранее сериализованных объектов считайте их устаревшими относительно данных в текущей запущенной сборке.


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


Суть-то в том, что когда сериализовать не надо, то проблем нет в любом случае, а когда надо, то с атрибутами приходится возиться. А как их сериализовать? А обычно создаёшь модель для сериализации, куда атрибуты выводишь в виде обычных свойств, или пишешь для сериализатора всякие конвертеры, которые делают примерно то же самое - вытаскивают данные из атрибутов и сериализуют их.


И да, пачка свойств выглядит читаемее, чем пачка атрибутов с кучей параметров.

 

Перейти на