|
|
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Пытались в свое время использовать ORM от DevExpress (не на Delphi, правда). Остались стойкие отрицательные впечатления, потому что автоматически сгенерированные запросы были, мягко говоря, неоптимальны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2017, 10:59:48 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
schiПытались в свое время использовать ORM от DevExpress (не на Delphi, правда). Остались стойкие отрицательные впечатления, потому что автоматически сгенерированные запросы были, мягко говоря, неоптимальны. Тоже могу сказать и про entity :) проценку всеравно сделали в ХП, ну не может орм сгенерировать запрос к 1 тб за 400 мс и проценить 250 позиций Автор же спрашивает имеет ли смысл начинать новый проект с ОРМ и если да, то какой. Ответ: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2017, 11:34:47 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
X-CiteОтвет: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет.Не могу согласиться. На ОРМе удобнее, быстрее, делать и дешевле сопровождать именно навороченные структуры и логику. Понятно, что она будет проигрывать в чистой производительности, хотя тут тоже зависит от архитектурных решений. Можно вынести самые затратные процедуры на уровень SQL сервера. В любом случае, всё зависит от конкретной задачи. Не всегда огромным задачам нужно огромное быстродействие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 00:29:44 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Думаю что в контексте обсуждения ОРМ забыта одна значительная функция, обуславливающая распространенное использования этого понятия в большинстве PHP - подобных языков программирования. А именно - кэширование данных запроса, что является значительным послаблением для БД при большом количестве одинаковых запросов. В дельфи такой функционал не только не актуален, но и не нужен. Благодаря чему разработчики могут снизить сложность своей программы избавляясь от лишнего кода. Потому что у использования ОРМ есть хитрый недостаток - увеличение сложности отладки. Если для связки SQL+Delphi достаточно знать основы этих двух языков, то для связки SQL-ORM-DELPHI уже нужно знать не только SQL+Delphi на уровне, достаточном для понимания машинерии ОРМ, но и саму специфику ОРМ. Вот, кстати, отличный пример: Бьютиферзамапить ОРМ на серверную вьюшку или процедуру Во сколько раз возрастет сложность решения при таком подходе? А если часть логики из ОРМ еще и вынесена на клиент? Понятно, что пока программа пишется, выше указанных проблем нет. Проблема отладки возникнет когда программа перейдет в стадию активной поддержки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 02:35:06 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
stanilar, мне кажется, что наоборот - ORM пытается скрыть "детали реализации", т.е. сделать невидимый persistent storage в СУБД. А это годится разве что для хранения каких-то мелких данных, типа клиентских настроек, и прочих "телефонных книг". В реале - чем сложнее модель данных в СУБД, тем сложнее запросы, и тем сильнее они требуют оптимизации и корректного написания. К примеру, мы консультируем по проблемам производительности, и как минимум 60% - это кривое управление транзакциями и хреновые запросы к СУБД. Без ORM. А уж с ORM эта беда возрастает многократно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 06:15:07 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
IMHO, ORM изначально придуманы для CRUD и именно в этом они хороши. Получить ОДИН объект по ID или набору критериев поиска, автоматически заполнить контролы на форме, проверить, изменил ли что в них пользователь, валидировать введенные данные, сохранить обратно - от этой рутины они избавляют. Если ORM справляется с объектами сложной структуры (хранящимися в нескольких связанных таблицах) типа документа с табличными частями и кучей лукап-комбобоксов (с выбором значений из справочников) - то это приличная автоматизация муторного труда программиста. Для реализации табличной формы типа списка документов с набором фильтров сверху ORM уже как бы не очень и нужен. Так как набор данных - read-only. Об отчетах и т.п. даже не говорю. А вот когда программист решает делать процедуры обработки данных с помощью ORM (ибо есть такой соблазн) с запросом сразу кучи бизнес-объектов и перебором их в цикле - тут вполне можно ждать тормозов, может быть, даже сбоев и, как итог, недовольства и гонений на никудышную ORM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 10:23:21 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
kdv Под стадией "активной поддержки" мною понимается, например, та ситуация, когда к разработчику подходит бухгалтер и спрашивает почему в одном окне программы счет на одну копейку больше чем надо, а в другом - меньше. Именно в такие моменты и проявляется вся кривизна любых решений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 22:11:49 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
stanilar, ээээ. до сих пор не забуду, как на Кондровском бумажном комбинате в 1991 году внедряли бухгалтерию на MUMPS (ДИАМС 3.1). И бухи нас спросили - а чего это вы так КТУ считаете? Ну, мы им объяснили (при этом я офигел, что они в подсчете КТУ были ни в зуб ногой), после чего я ради прикола написал 4 дополнительных алгоритма подсчета, на выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2017, 23:04:03 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
X-Citeиспользовать бд уровня mssql или oracle как хранилища, не используя их возможности. это кощунствоX-CiteТеория множеств победила Теорию итерацийгде-то я это уже видал а, да тут же 20306230 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 11:51:13 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
white_niggerX-CiteОтвет: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет.Не могу согласиться. На ОРМе удобнее, быстрее, делать и дешевле сопровождать именно навороченные структуры и логику. Понятно, что она будет проигрывать в чистой производительности, хотя тут тоже зависит от архитектурных решений. Можно вынести самые затратные процедуры на уровень SQL сервера. В любом случае, всё зависит от конкретной задачи. Не всегда огромным задачам нужно огромное быстродействие.+500. Хороший ОРМ + юзание логики на сервере: отличное решение даже для сложных учетных задач. А если задача еще и постоянно эволюционирует, то ОРМ гораздо лучшее решение, чем хардкод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 12:19:32 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
ксониксавтоматически заполнить контролы на форме, проверить, изменил ли что в них пользователь, валидировать введенные данные, сохранить обратно - от этой рутины они избавляютну подобный базовый функционал и просто датасет + дб-аварщина обеспечивают ксониксПолучить ОДИН объект по ID или набору критериев поискада и по критерию загрузить что требуется большого труда обычно не составляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2017, 12:39:46 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Использовали RemObjects DataAbstract, потом пересели на самописный ORM. В целом не критично, но с ORM приятнее как-то. При работе с SQL куча строковых констант размазанная повсюду угнетает. С ORM можно хотя бы в какой-то мере переложить работу на компилятор. Ну а писать код вроде Код: pascal 1. или Код: pascal 1. одна радость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 00:26:18 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Роман ЯнковскийMyObject.Param := 123; ORM.Save(MyObject); Это не орм. Обычный объектный подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 00:58:27 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
А еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 02:20:06 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
БьютиферСвои велосипеды-сериализаторы изобретать?Да, пишешь один раз функцию которая получает на вход несколько датасетов со связями в виде настроенных полей master-detail (или мб связи отдельным параметром-структурой) и выдает в ответ json включающий встроенные объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 06:41:45 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
БьютиферА еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать? А ты их генеришь ради генерения или под заранее заданную схему ? В последнем случае я сильно сомневаюсь что "никакого кода почти не нужно", а в первом случае сильно сомневаюсь в нужности такого xml или json ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 10:45:33 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
БьютиферА еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать? А что сложного в генерении json-ов и xml-ов? Для этого ОРМ совсем не нужен. Все велосипеды давно уже изобретены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 11:17:46 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiРоман ЯнковскийMyObject.Param := 123; ORM.Save(MyObject); Это не орм. Обычный объектный подход. А мужики-то и не знали. Оказывается объектный подход без всяких ORM умеет объект в БД сохранять раскладывая по табличкам с учетом всех его связей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 17:05:20 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 17:08:32 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiшаблон ActiveRecord = частный случай ORM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 17:53:04 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, С таким подходом и датасеты с селектами -- частный случай :-) ОРМ для меня -- это автоматизация и генерация. А когда запросы надо ручками писать -- это уже не ORM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 18:04:32 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Кстати, вот вам свежая демонстрация свежей ORM под делфи от TMS -- Aurelius: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 22:04:49 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiКстати, вот вам свежая демонстрация свежей ORM под делфи от TMS -- Aurelius: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 22:10:32 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
defecator, Что помешало настроить датасет, чтобы он брал данные частями? См. fetch option. Из документации , как получить открытый на сервере курсор и фетчить из него данные на клиент по мере необходимости: Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 22:26:16 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, для чего люди используют ORM, EntityDac в частности? Я вот пытаюсь его потестить и прихожу к выводу, что он нужен только для того, чтобы не писать запросы в delphi. Сколько себя помню, то все запросы у меня оформлены в виде хранимых процедур и выполняются на сервере. Я может не с той стороны смотрю на использование ORM. Какие вообще преимущества от его использования? Заранее спасибо, за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 14:29:44 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39424315&tid=2042281]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 487ms |

| 0 / 0 |
