|
Универсальная ИС
|
|||
---|---|---|---|
#18+
РусНасколько может помочь генератор форм по метамодели? Думаю, что мало может помочь. Т.к. формы даже с минимумом полей обладают некоторой логикой работы, проверками, связями с другими формами, вызовами другого кода и прочее. Если правильно построить мета модель очень хорошо поможет... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2009, 16:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Генерация форм помогает для самых примитивных форм, которых каждой системе намного больше, чем форм со сложно логикой, для тупого редактирования данных в базе. Т.к. не требуется каких-то сложных операций с данными, то вмолне можно написать генератор SQL запросов, который будет генерить SQL код для каждого сервера. С такой системой можно защитить курсовую и даже дипломную, но работать в ней с реальными данными - самоубийство. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 13:51 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий, что по Вашему назвать "примитивной" формой? к примеру, полностью генерируемый по метаописанию интерфейс форм ввода... Если это примитивный, но приведите, если не затруднит, непримитивный интерфейс, который невозможно сгенерировать декларативно (сама постановка вопроса даже немного нелепая, потому что все IDE выполняют генерацию форм по описанию. ). Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Это что - Delphi+DevExpress? Редактирование данных в гриде - самый простой способ редактирования. Я имел ввиду форму для редактирования 1 записи в которой контролы могу отображаться и вести себя по-разному в зависимости от разных условий, например прав доступа или в зависимости от того, какими данными заполено предыдующее поле или от результатов каких-то расчетов. Да, настроек много, но установка всех настроек по времени сопоставима с работой с формой в Дизайн-тайм. Про отладку я так понимаю речи вообще нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:48 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий, о гриде речь не идет. Ладно, пусть будет форма , какая разница. Контролы отображаются и ведут себя по-разному, в том числе и в зависимости от прав досутупа. Рисование форм уже наверное моветон. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:53 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучийнастроек много, но установка всех настроек по времени сопоставима с работой с формой в Дизайн-тайм. на порядок быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:54 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
но дело даже не в скорости. Весь вопрос в том, что под динамически генерируемую форму, естественно, есть уже созданные и многократно отлаженные обработчики. Это к вопросу об отладке ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 14:59 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmно дело даже не в скорости. Весь вопрос в том, что под динамически генерируемую форму, естественно, есть уже созданные и многократно отлаженные обработчики. Это к вопросу об отладке Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. Т.к. со временем будут требоваться все более универсальные обработчики, то придется писать писать обработчики для одного частного случая. Что касается скорости - бросить на форму грид, подключить источник данных, вписать в него запрос на редактирование и настроить поля со списками. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:15 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. нет конечно. смотря что считаете логикой. Перемещение по полям, проверку полей или что? Если проверка, то задача обработчика запустить функцию этой самой проверки или что там еще. А логикой типа "значение этого поле не должно быть менее 5" обработчик не обязан заниматься ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:23 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Опять же обработчики обрабатывают только известные им варианты логики. Для каждого навого варианта придется писать новый обработчик. нет конечно. смотря что считаете логикой. Перемещение по полям, проверку полей или что? Если проверка, то задача обработчика запустить функцию этой самой проверки или что там еще. А логикой типа "значение этого поле не должно быть менее 5" обработчик не обязан заниматься Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:26 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) потому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:35 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Это почему же? Если товара на складе уже нет, вы позволите его выписать? Или товар упакован в коробки по 6 штук, то можно продать 5 штук? (это для оптовиков) потому что этим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 15:44 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру.[/quot] конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат, а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:18 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
сорри, цитирование съехало ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:19 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат , а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок.[/quot] Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:31 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Невезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 16:33 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. Я тоже говорю о том, что форма предназначена для редактирования записей. Логика наверное в триггерах прописана, которые надо постоянно дописывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:11 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
НевезучийiscrafmНевезучий Автомат только занимается Передачей управления. Я правильно понял? все остальное определяет разработчик. все что касается бизнес-логики - да (мы же о ней сейчас говорим?), автомат ничего не понимает в бизнесе. Я тоже говорю о том, что форма предназначена для редактирования записей. Логика наверное в триггерах прописана, которые надо постоянно дописывать. в тригерах, процедурах, функциях, скриптах и т.п. Конечно, если логика изменяется, то разработчик меняет эти самые "перечисленные выше", а как же. Генерации форм это не касается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:22 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm, сам интерфей формы, к примеру, реализует поиск, фильтрацию, пакетные процедуры редактирования, запрос данных, импорт, связывание всех компонентов, отображение, передачу управления и т.п. Т.е. то, на что время тратить нельзя, лучше заняться этой самой логикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 17:25 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Такая система есть в Softline Megapolis ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2009, 18:03 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafmНевезучийэтим занимаются процедуры бизнес-логики, которые к генерации форм не имеют отношения. но эти процедуры надо написать (кстати, где они находятся?), вызвать из формы и желательно не в момент транзакции, когда пользователь уже все заполнил, а тот момент, когда ввел неправильную цифру. конечно. Пользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. p.s. подчеркнутое - то чем занимается автомат, а синим выделено то, что определяет разработчик. Выражение "чему-то" означает то, что под этим может быть или скрипт или формула или SQL процедура или... То что подчеркнуто и не переписывается при каждом изменении логики (по крайней мере у нас уже 5 лет). Но времени и сил реально экономит на порядок.[/quot] Согласен, возможно создать базовые классы, которые будут связывать представление (форму) и таблицы БД, используя данные метамодели. Действительно, время тратится больше на логику, а не на создание модели данных и связывание полей формы с моделью. Свой комментарий про генерацию форм в таком контексте снимаю. Действительно помогает, когда модель простая (типичный случай при работе с БД учетной системы). Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:20 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Рус Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. Еще окупаемость дальновидного аналитика, который опишет иерархию классов, чтобы не пришлось потом вносить изменения в базовые классы со все вытекающем отсюда геморе. Я так понял, что iscrafm потратил 5 лет на создание этих классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:40 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
Рус Свой комментарий про генерацию форм в таком контексте снимаю. Действительно помогает, когда модель простая (типичный случай при работе с БД учетной системы). что такое "непростая" модель по Вашему? Объясните в двух словах плз. Рус Правда, я думаю, что при таком подходе нужно, чтобы затраты на ведущего разработчика, который корректно напишет основные классы работающие с метамоделью, транзакциями в БД и прочее окупили экономию на эффективность создание последюющих прикладных решений. окупают конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:42 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
iscrafm что такое "непростая" модель по Вашему? Объясните в двух словах плз. простейший случай "непростой" модели (не удержался от каламбура, простите:) это, например, когда в результате редактирования значения в поле на форме изменяются значения нескольких полей модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 13:55 |
|
Универсальная ИС
|
|||
---|---|---|---|
#18+
авторПользователь... 1.создал запись -> управлене передается чему-то, что заполняет поля формы значениями по умолчанию 2. ввел значение в поле -> управление передается чему-то, что определено для проверки валидности этого значения 3. Управление передается тому, что заполняет связанные значения, если таковые существуют 4. Закончил редактирование -> управление передается чему-то, что проверяет целостность записи 5. Отправил на сервер - > управление передается соответствующей транзакции, назначенной на это событие и т.д. и т.п. Обобщенно конечно. Описан функционал Модели паттерна Active Record.Есть готовые frimework'и и кодогенераторы,умный аналитик не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 14:03 |
|
|
start [/forum/topic.php?fid=33&msg=36272433&tid=1548383]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 458ms |
0 / 0 |