powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Генераторы форм vs Runtime создание формы
25 сообщений из 192, страница 1 из 8
Генераторы форм vs Runtime создание формы
    #36464400
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажем там надоело в последнее время клипание форм Ввода/Редактирования данных, со справочниками нет проблем - создана универсальная форма которая показывает любой справочник. А вот с другими таблицами по сложней, есть тоже универсальная форма которая отображает любой запрос/таблицу (генерация колонок, описания колонок и т.д.) но вот формы редактиирования/добавления приходится делать в ручную (пока) вот и задумался и хочу спросить кто что использует:
1) Генераторы форм - указали таблицу/запрос на выходе файлы формы со всеми элементами, а дальше подключили к проекту и используем.
Минус - в проекте может быть сверх много форм ввода, если что-то изменилось в таблице нужно будет заново создавать форму или править в ручную.
Плюсы - Можно в дизайнере исправить что-то, разместить элементы как нужно, более просто по реализации не требует дополнительных таблиц.
2) Одна универсальная форма генерации в Runtime указываешь название таблицы или запрос а форма сама во время работы генерирует все элементы
Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.)
Плюсы - если изменилось какое-то поле то не нужно править исходники и обновлять клиентов

Вот и задумался что лучше реализовывать, сейчас пока набрасываю промежуточный код.
______________________________________________________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36464417
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64DСкажем там надоело в последнее время клипание форм Ввода/Редактирования Для тупых случаев универсальная "динамическая" форма, конечно подойдет. Но вот для "нормальных пользовательских интерфейсов" (когда на форме надо отобразить всякие дополнительные данные, обеспечить валидирование, вспомогательные операции и т.п.) универсальные формы оказываются либо недостаточными, либо требуют огромного количества метаописаний. И получается, что добиться потребного пользователю результата от универсальной формы гораздо более трудоемко, чем склепать обычную форму.
На мой взгляд, "универсальная форма" подходящий инструмент только для интерфейсов занимающихся отображением данных из СУБД "as is" - почти с тем же успехом можно взять какой-нибудь SQL*Developer - там есть универсальные формы редактирования данных.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36464712
Goffman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64D
Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.)

Да, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36464796
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки
Зато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить).

По сути второй способ это создание конфигуратора, как в 1С.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465055
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64DЗато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить).А куда "копание в коде" денется? Если забудете как что-то делается, то копаться все-равно придется. Вы можете называть это не кодом, а "информацией, необходимой для генерации формы", но по чути это будет тот же код только на вашем "доморощенном" языке.
Вы поймите, что для того, чтобы реализовать runtime-генерацию форм достаточной сложности вам потребуется разработать собственный язык и собственную среду программирования. С большой вероятностью почти по всем параметрам этот язык будет уступать общепринятым. Кроме того, он будет понятем только вам одному (хотя в некоторых случаях это является преимуществом).
Несомненно, задача разработки собственного языка - весьма интересна и привлекательна, но не пытайтесь оправдать ее бизнес-необходимостью. Для программирования в небольшой группе разработка своей среды увеличивает суммарную трудоемкость.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465320
Фотография Infernal V. Raven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64D,

Прочитайте про Bold.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465329
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Asm64DПо сути второй способ это создание конфигуратора, как в 1С.
По первому способу делаю оригинальные системы. По второму - типовые.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465585
Asm64D,

Универсальная форма с возможностью редактирования в рантайме.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465626
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64D
2) Одна универсальная форма генерации в Runtime указываешь название таблицы или запрос а форма сама во время работы генерирует все элементы
Минусы - сложность реализации (относительно первого варианта), Либо усиленая работа по получению информации из системных таблиц СУБД или создание дополнительных таблиц где будет хранится информация необходимая для генерации формы (типы полей, связи к другим таблицам и т.д.)
Плюсы - если изменилось какое-то поле то не нужно править исходники и обновлять клиентов

сложность реализации действительно имеет место, но окупается просто на порядки. Если Вы конечно такое задумали не для разовой работы.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465647
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyС большой вероятностью почти по всем параметрам этот язык будет уступать общепринятым.
еще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, типовая реакция на события закладывается в функционал такой "универсальной формы", для дополнений, если потребуется, используется функционал скриповых движков (общепринятых кстати), недостатка в которых нет.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465863
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyчтобы реализовать runtime-генерацию форм достаточной сложности вам потребуется разработать собственный язык и собственную среду программирования.
Зачем создавать язык, скорей просто добавить поддержку скриптов.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36465970
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки
Хорошо спроектированная прослойка даст значительный выигрыш во времени.
Не надо ля-ля.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466095
Alex S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asm64DЗачем создавать язык, скорей просто добавить поддержку скриптов.
Да, лучше добавить уже распространненный язык. Предложу свой вариант: Если система написана на delphi, то подключив процедуру (строк на 15 обычной ширины) можно создавать любые формы в run-time из текста DFM. Подключив движок скриптов, можно сделать форму "живой". Можно пойти дальше: DFM редактировать не в среде Delphi, а подключить дизайнер форм в свою программу. И, напоследок, хранить текст DFM и соответствующий ему скрипт в базе данных.
Кстати, вариант с номером 2 (Одна универсальная форма) все-равно должен быть, несмотря на наличие дизайнера форм, но форма может быть совсем не такой сложной.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466349
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmеще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, А это "декларативное описание" не есть язык? Расскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466365
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex SПредложу свой вариант: Если система написана на delphi, то подключив процедуру (строк на 15 обычной ширины) можно создавать любые формы в run-time из текста DFM. Подключив движок скриптов, можно сделать форму "живой". Можно пойти дальше: DFM редактировать не в среде Delphi, а подключить дизайнер форм в свою программу.И как все это решает проблемы топикстартера? Ему надоело "клепание форм" в своем дизайнере. Вы думаете, что в дизайнере DFM это будет удобнее/быстрее?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466624
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trdm_Хорошо спроектированная прослойка даст значительный выигрыш во времени.
Не надо ля-ля.

Эта прослойка называется фреймворк. В общем случае офигенно сложная задача. Но несколько достойных продуктов на рынке есть. А совсем простые Web формы легко генерятся на лету CGI скриптами и т.п. фигнёй.
Тот же Oracle forms имеет мастер форм, где за считаные минуты можно создать или подредактировать форму. Но при желании добавить в неё и нетривиальную логику, что с доморощеным продуктом будет не просто сделать.

В общем, автору нужно поискать адекватные инструменты для решения задачи. Причём можно одновременно использовать оба подхода. "Быстрый" для создания несложных типовых форм и прототипов, "основательный" для разработки многофункциональных GUI.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466632
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyiscrafmеще с большей вероятностью можно обойтись вобще без "языка", все описывается декларативно, А это "декларативное описание" не есть язык? Расскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость?
ITEMPRICE=PRICE
AMOUNT=QTY*PRICE
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466687
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант Alex S очень понравился. Сейчас начну все же с первого варианта (типа тренировка).
______________________________________________________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466693
Asm64DGoffmanДа, еще один минус, вместо того чтобы заниматься собственно проектом для заказчика, вы будете убивать время на разработку прослойки
Зато это время может окупиться в далнейшим: не нужно будет копатся в коде чтоб вспомнить как оно там делается (даже с комментариями иногда уходит много времени чтобы вспомнить).

По сути второй способ это создание конфигуратора, как в 1С.

Я лет 5 этим занимался и бросил -
1.нельзя сделать универсальную форму на все случаи жизни.
2.На каждый новую настройку уходит много времени
3.Чем больше настроек, тем сложнее отлавливать их наложения друг на друга
4.Время, затраченное на настройку, становится сравнима со временем работы в Дельфях
5.Так как каждый новый наворот вызывается каждый раз, то система начинает тормозить
и т.д.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466724
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
ITEMPRICE=PRICE
AMOUNT=QTY*PRICE
Вы хотите сказать, что это "не язык"? Тогда я не знаю, что означают две параллельные черточки, "звездочка" и всякие другие символы.
Если это все-таки язык программирования, то я могу попробовать угадать, что ITEMPRICE и AMOUNT - это имена элементов формы, отображающих цену и общую стоимость. Хотя твердой уверенности нет.
А в вот кто такие PRICE, QTY? У меня нет предположений.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36466971
Eybdthcfkmyfz cbcntvf,
фигня, хватает 2-3 месяцев
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36467019
Фотография Asm64D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джамшид РовшанEybdthcfkmyfz cbcntvf,
фигня, хватает 2-3 месяцев
Для какого языка?
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36467131
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyiscrafm
ITEMPRICE=PRICE
AMOUNT=QTY*PRICE
Вы хотите сказать, что это "не язык"? Тогда я не знаю, что означают две параллельные черточки, "звездочка" и всякие другие символы.
Если это все-таки язык программирования, то я могу попробовать угадать, что ITEMPRICE и AMOUNT - это имена элементов формы, отображающих цену и общую стоимость. Хотя твердой уверенности нет.
А в вот кто такие PRICE, QTY? У меня нет предположений.
это формулы. PRICE и QTY тоже элементы формы. При их изменении выполнятся расчет AMOUNT.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36467153
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmBogdanov AndreyВы хотите сказать, что это "не язык"?это формулы.Так все-таки это язык или нет? Где описана семантика указанных конструкций? Создателю универсальной формы потребуется некий "процессор формул" - который "объяснит" компьютеру что с написанными вами буковками делать.

iscrafm PRICE и QTY тоже элементы формы. А откуда эти элементы взялись? Было только поле для выбора товара. Откуда в форме элемент PRICE взялся? Вернитесь к заглавному посту. Там было написано, что указывается только название таблицы и по этому названию строится форма. Понятно, что в таблице есть колонки, можно предположить, что для каждой колонки создается элемент формы. Но никакого PRICE в таблице нет - в таблице только ссылка на товар. А уж у товара как-то там можно цену посчитать.
...
Рейтинг: 0 / 0
Генераторы форм vs Runtime создание формы
    #36467169
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyiscrafm PRICE и QTY тоже элементы формы. А откуда эти элементы взялись? Было только поле для выбора товара. Откуда в форме элемент PRICE взялся?

я почему-то Ваши слова лучше помню, чем Вы свои. Хорошо, напомню откуда эти элементы взялись:
Bogdanov AndreyРасскажите, как "без языка" вы опишите, что при выборе товара в одном поле формы в другом надо отобразить его цену, а в третьем общую стоимость ?
PRICE - это поле с ценой, AMOUNT - это поле с общей стоимостью. Спросили как декларативно описывается заданный Вами же пример, я показал. Хоть то что спрашивали помните?
...
Рейтинг: 0 / 0
25 сообщений из 192, страница 1 из 8
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Генераторы форм vs Runtime создание формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]