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

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

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

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

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

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

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

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

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

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

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

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

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


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