powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть ли смысл начниать новый проект на базе ORM?
25 сообщений из 117, страница 3 из 5
Есть ли смысл начниать новый проект на базе ORM?
    #39422075
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытались в свое время использовать ORM от DevExpress (не на Delphi, правда). Остались стойкие отрицательные впечатления, потому что автоматически сгенерированные запросы были, мягко говоря, неоптимальны.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422086
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiПытались в свое время использовать ORM от DevExpress (не на Delphi, правда). Остались стойкие отрицательные впечатления, потому что автоматически сгенерированные запросы были, мягко говоря, неоптимальны.
Тоже могу сказать и про entity :) проценку всеравно сделали в ХП, ну не может орм сгенерировать запрос к 1 тб за 400 мс и проценить 250 позиций

Автор же спрашивает имеет ли смысл начинать новый проект с ОРМ и если да, то какой.

Ответ: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422350
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteОтвет: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет.Не могу согласиться. На ОРМе удобнее, быстрее, делать и дешевле сопровождать именно навороченные структуры и логику. Понятно, что она будет проигрывать в чистой производительности, хотя тут тоже зависит от архитектурных решений. Можно вынести самые затратные процедуры на уровень SQL сервера. В любом случае, всё зависит от конкретной задачи. Не всегда огромным задачам нужно огромное быстродействие.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422374
stanilar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что в контексте обсуждения ОРМ забыта одна значительная функция, обуславливающая распространенное использования этого понятия в большинстве PHP - подобных языков программирования. А именно - кэширование данных запроса, что является значительным послаблением для БД при большом количестве одинаковых запросов.

В дельфи такой функционал не только не актуален, но и не нужен. Благодаря чему разработчики могут снизить сложность своей программы избавляясь от лишнего кода. Потому что у использования ОРМ есть хитрый недостаток - увеличение сложности отладки. Если для связки SQL+Delphi достаточно знать основы этих двух языков, то для связки SQL-ORM-DELPHI уже нужно знать не только SQL+Delphi на уровне, достаточном для понимания машинерии ОРМ, но и саму специфику ОРМ.

Вот, кстати, отличный пример:
Бьютиферзамапить ОРМ на серверную вьюшку или процедуру
Во сколько раз возрастет сложность решения при таком подходе? А если часть логики из ОРМ еще и вынесена на клиент?

Понятно, что пока программа пишется, выше указанных проблем нет. Проблема отладки возникнет когда программа перейдет в стадию активной поддержки.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422386
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stanilar,

мне кажется, что наоборот - ORM пытается скрыть "детали реализации", т.е. сделать невидимый persistent storage в СУБД. А это годится разве что для хранения каких-то мелких данных, типа клиентских настроек, и прочих "телефонных книг". В реале - чем сложнее модель данных в СУБД, тем сложнее запросы, и тем сильнее они требуют оптимизации и корректного написания.
К примеру, мы консультируем по проблемам производительности, и как минимум 60% - это кривое управление транзакциями и хреновые запросы к СУБД. Без ORM. А уж с ORM эта беда возрастает многократно.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422403
ксоникс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IMHO, ORM изначально придуманы для CRUD и именно в этом они хороши. Получить ОДИН объект по ID или набору критериев поиска, автоматически заполнить контролы на форме, проверить, изменил ли что в них пользователь, валидировать введенные данные, сохранить обратно - от этой рутины они избавляют. Если ORM справляется с объектами сложной структуры (хранящимися в нескольких связанных таблицах) типа документа с табличными частями и кучей лукап-комбобоксов (с выбором значений из справочников) - то это приличная автоматизация муторного труда программиста.

Для реализации табличной формы типа списка документов с набором фильтров сверху ORM уже как бы не очень и нужен. Так как набор данных - read-only. Об отчетах и т.п. даже не говорю.

А вот когда программист решает делать процедуры обработки данных с помощью ORM (ибо есть такой соблазн) с запросом сразу кучи бизнес-объектов и перебором их в цикле - тут вполне можно ждать тормозов, может быть, даже сбоев и, как итог, недовольства и гонений на никудышную ORM.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422705
stanilar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv

Под стадией "активной поддержки" мною понимается, например, та ситуация, когда к разработчику подходит бухгалтер и спрашивает почему в одном окне программы счет на одну копейку больше чем надо, а в другом - меньше. Именно в такие моменты и проявляется вся кривизна любых решений.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39422712
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stanilar,

ээээ. до сих пор не забуду, как на Кондровском бумажном комбинате в 1991 году внедряли бухгалтерию на MUMPS (ДИАМС 3.1). И бухи нас спросили - а чего это вы так КТУ считаете? Ну, мы им объяснили (при этом я офигел, что они в подсчете КТУ были ни в зуб ногой), после чего я ради прикола написал 4 дополнительных алгоритма подсчета, на выбор.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423005
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Citeиспользовать бд уровня mssql или oracle как хранилища, не используя их возможности. это кощунствоX-CiteТеория множеств победила Теорию итерацийгде-то я это уже видал
а, да тут же 20306230
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423061
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_niggerX-CiteОтвет: Имеет, если приложение останется на любительском уровне и не будет требовать высоких мощностей. Если из приложения планируется развить мощную высокопроизводительную ERP, то не имеет.Не могу согласиться. На ОРМе удобнее, быстрее, делать и дешевле сопровождать именно навороченные структуры и логику. Понятно, что она будет проигрывать в чистой производительности, хотя тут тоже зависит от архитектурных решений. Можно вынести самые затратные процедуры на уровень SQL сервера. В любом случае, всё зависит от конкретной задачи. Не всегда огромным задачам нужно огромное быстродействие.+500. Хороший ОРМ + юзание логики на сервере: отличное решение даже для сложных учетных задач. А если задача еще и постоянно эволюционирует, то ОРМ гораздо лучшее решение, чем хардкод.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423094
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ксониксавтоматически заполнить контролы на форме, проверить, изменил ли что в них пользователь, валидировать введенные данные, сохранить обратно - от этой рутины они избавляютну подобный базовый функционал и просто датасет + дб-аварщина обеспечивают
ксониксПолучить ОДИН объект по ID или набору критериев поискада и по критерию загрузить что требуется большого труда обычно не составляет
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423670
Роман Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовали RemObjects DataAbstract, потом пересели на самописный ORM. В целом не критично, но с ORM приятнее как-то. При работе с SQL куча строковых констант размазанная повсюду угнетает. С ORM можно хотя бы в какой-то мере переложить работу на компилятор.

Ну а писать код вроде
Код: pascal
1.
MyObject := ORM.LoadObject<TMyObject>(ObjectID);

или
Код: pascal
1.
MyObject.Param := 123; ORM.Save(MyObject);

одна радость.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423673
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ЯнковскийMyObject.Param := 123; ORM.Save(MyObject);
Это не орм. Обычный объектный подход.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423680
Бьютифер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать?
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423697
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БьютиферСвои велосипеды-сериализаторы изобретать?Да, пишешь один раз функцию которая получает на вход несколько датасетов со связями в виде настроенных полей master-detail (или мб связи отдельным параметром-структурой) и выдает в ответ json включающий встроенные объекты.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423820
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БьютиферА еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать?

А ты их генеришь ради генерения или под заранее заданную схему ? В последнем случае я сильно сомневаюсь что "никакого кода почти не нужно", а в первом случае сильно сомневаюсь в нужности такого xml или json
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39423863
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БьютиферА еще из ОРМ-ких классов генерить json-ы i xml-и - просто песня. Никакого кода почти не нужно. И как это сделать без ОРМ? Свои велосипеды-сериализаторы изобретать?
А что сложного в генерении json-ов и xml-ов? Для этого ОРМ совсем не нужен. Все велосипеды давно уже изобретены.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424267
Роман Янковский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiРоман ЯнковскийMyObject.Param := 123; ORM.Save(MyObject);
Это не орм. Обычный объектный подход.

А мужики-то и не знали. Оказывается объектный подход без всяких ORM умеет объект в БД сохранять раскладывая по табличкам с учетом всех его связей.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424273
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Янковский,

Именно. См. шаблон ActiveRecord .
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424308
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiшаблон ActiveRecord
= частный случай ORM
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424315
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

С таким подходом и датасеты с селектами -- частный случай :-) ОРМ для меня -- это автоматизация и генерация. А когда запросы надо ручками писать -- это уже не ORM.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424415
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, вот вам свежая демонстрация свежей ORM под делфи от TMS -- Aurelius:

YouTube Video
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424416
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
JaDiКстати, вот вам свежая демонстрация свежей ORM под делфи от TMS -- Aurelius:

YouTube Video
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39424420
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Что помешало настроить датасет, чтобы он брал данные частями? См. fetch option.

Из документации , как получить открытый на сервере курсор и фетчить из него данные на клиент по мере необходимости:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
var
  Cursor: ICriteriaCursor;
begin
  Cursor := Manager.Find<TPerson>.Open;
  AureliusDataset1.SetSourceCursor(Cursor);
  // Or just this single line version:
  AureliusDataset1.SetSourceCursor(Manager.Find<TPerson>.Open)
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39455427
ajijohn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, для чего люди используют ORM, EntityDac в частности? Я вот пытаюсь его потестить и прихожу к выводу, что он нужен только для того, чтобы не писать запросы в delphi.
Сколько себя помню, то все запросы у меня оформлены в виде хранимых процедур и выполняются на сервере. Я может не с той стороны смотрю на использование ORM. Какие вообще преимущества от его использования?

Заранее спасибо, за ответы.
...
Рейтинг: 0 / 0
25 сообщений из 117, страница 3 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть ли смысл начниать новый проект на базе ORM?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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