Что некоторые возможные проекты должны иметь дело с часто изменяющимися формами данных?
У меня есть основное веб-приложение CRUD, где основная форма ввода данных ежегодно изменяется. Таким образом, каждый рекорд должен быть повторен к определенной версии формы. Это требование является довольно новым, таким образом, существующее приложение не было создано с этим в памяти.
Я ищу различные способы обработать это, надеясь избежать будущего технического долга. Вот некоторые опции, которые я придумал:
Что другие возможности там? У кого-либо есть опыт при выполнении этого? Я ищу некоторые шаблоны разработки, чтобы помочь иметь дело со сложностью.
Для этого конкретного приложения мы решили рассматривать проблему так, как если бы существовала одна форма, которая постоянно растет. Из-за природы формы это показалось более естественным, чем более явное разделение. У нас будет связка год->поле для тех частей приложения, где необходимо знать, какие данные относятся к какому году.
Для пользовательского интерфейса мы будем создавать новую страницу для формы каждого года. Динамическое создание форм слишком сложно в этой ситуации.
Сначала я расскажу о ваших решениях выше, а затем дам свой ответ.
Если бы мне пришлось сделать это:
, поскольку он позволит вам перемещаться по ним, не зная имени каждого элемента. Затем вставьте в tbInputValues идентификатор ввода и его значение.
- Создайте форму для добавления или удаления ввода
. Это означало бы, что у вас
не будет много работы по техническому обслуживанию
каждый год.
Я думаю, что это решение может показаться не самым красноречивым, но при правильном исполнении я думаю, что это ваше самое гибкое решение, требующее наименьшего количества технических долгов.
2
ответ дан 7 December 2019 в 14:31
поделиться
Я думаю, что третий подход (XML) является наиболее гибким. Простая структура XML создается очень быстро, ее можно легко версировать и проверять на соответствие XSD.
У вас будет таблица, содержащая XML в одном столбце и год / версию, к которой применяется этот XML.
Создание кода пользовательского интерфейса на основе схемы - плохая идея. Если вам не требуется тщательная проверка, вы можете выбрать простую редактируемую таблицу.
Если вам нужна настраиваемая форма каждый год, я бы рассматривал ее как своего рода гарантию работы :-) Тем не менее, важно сделать механизм управления версиями и расширения прозрачными и явными.