Здравствуйте.
Имеется программа, которая в БД хранит множество сущностей/объектов(не знаю, как верно тут назвать). У каждой из которых есть свой набор полей. Некоторые поля, например, имя\название, повторяются, другие же уникальны.
Для каждой сущности юзеру должен быть предоставлен интерфейс для редактирования существующего\добавления нового экземпляра (в идеале именно один интерфейс для обоих действий).
Т.к. набор полей у сущностей разный, то для каждой юзер должен видеть свою форму со своими элементами и заголовками их поясняющими.
Внимание, вопрос. Как лучше\грамотней\правильней реализовать создание этого множества форм? Сущностей предполагается около 10, в дальнейшем возможно увеличение.
Сейчас я вижу такие варианты.
1. Полностью визуально-статически. Создаем в Лазарусе форму, кидаем на нее элементы, располагаем как нужно, а дальше уже вешаем обработчики.
Так хочется использовать именно этот вариант. Он выглядит проще. Но 10-ок форм, которые по принципу работы похожи...не есть круто, да? Зато удобно в какой-то мере.
2. Полностью кодом-динамически. Используем для всех сущностей ОДНУ форму, заполняя ее программно созданными компонентами.
Выйдет дольше, чем первый вариант, т.к. компоненты придется подгонять и создавать. А потом еще и заполнять и вешать обработчики. Зато всего одна форма. И хардкор.
3. Используем вкладки. Снова используем только одну форму, на ней создаем кучу вкладок (для каждой сущности по одной) и скрываем их все. В процессе работы делаем видимой необходимую вкладку.
Казалось бы золотая середина, но выглядит как дикий костыль. К тому же, не будет ли куча невидимых вкладок жрать лишнюю память? Ведь фактически-то они есть.
Возможно, имеются и другие варианты решения. Если да, то хотелось бы их услышать.