powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть ли смысл начниать новый проект на базе ORM?
17 сообщений из 117, страница 5 из 5
Есть ли смысл начниать новый проект на базе ORM?
    #39456082
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЭто реальный вопрос или стёб ?
Реальный.
Просто "в лоб" записывать значение в таблицу крайне нежелательно, т.к. это может серьезно нарушить бизнес логику (не говоря уже о халатности или злом умысле).
Примеры, надеюсь не нужны ?Давай пример как нарушить логику, если произвольные запросы запрещены, и права у юзеров только на определенные запросы к вебсервису.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456086
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Lsv!
You wrote on 19 мая 2017 г. 13:15:03:

Lsv> Просто "в лоб" записывать значение в таблицу крайне нежелательно, т.к. это может серьезно нарушить бизнес логикуцЫрк.
с конями.
на дротЕ.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456092
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

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

причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут).
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456099
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
rgreatДавай пример как нарушить логику, если произвольные запросы запрещены, и права у юзеров только на определенные запросы к вебсервису.
Ну вот о том и печь, что доступ есть не к таблице в БД, а запросам вебсервиса. Я же говорю о том, что EntityDac напрямую работает с таблицами и это мне не нравится.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456102
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
JaDiJaDi,

причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут).

Если дать доступ к процедуре, то доступ к таблице давать не нужно. По крайней мере это применимо для MS SQL сервера
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456119
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Aji!
You wrote on 19 мая 2017 г. 13:47:06:

Aji> EntityDac напрямую работает с таблицами и это мне не нравится.любой DAC работает напрямую.
потому что он DAC.
а вот концепция ORM подразумевает работу с данными только через жопу.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456123
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Мимопроходящийа вот концепция ORM подразумевает работу с данными только через жопу.


Очень емкое замечание:) И очень похожее не правду:)
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456151
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiзапись в лоб в таблицу ничем не отличается от записи в лоб через процедуру -- в последнем случае лишь больше геморроя появляется для программиста по написанию лишней прослойки. Это для случаев, когда у нас простая система с записью/сохранением данных без всякой сложной логики и сторонними сервисами.
....
причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут)1. Будет отличаться тем, что в случае с ХП можно выполнить много проверок и сделать сколь угодно сложные действия в одной транзакции. И это никак не лишняя прослойка. Это мощная возможность.

2. Чушь. Права на ХП никак не связаны с правами на таблицу. И в ХП есть возможность делать только дозволенные действия. В отличии от прямого доступа к таблице, где ковыряй чо хош.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456152
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее ORM возможно будет неплох когда тебе надо дать некий API сторонним разработчикам к своей БД. Выдал им ORM с классами работы с твоей БД и свободны.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456161
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы слишком многого хотите -- ORM это генерация простых рутинных запросов по работе с данными, которые покрывает 90% всех потребностей типичного бизнес-приложения. Сложную логику оставляйте для процедур -- никто вам не запрещает их использовать вместе с ORM.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456269
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Jadi!
You wrote on 19 мая 2017 г. 15:53:30:

Jadi> покрывает 90% всех потребностей типичного бизнес-приложения.уровня автоматизации пивного ларька.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456284
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Для тех, кто не умеет пользоваться представлениями (view) -- да, ORM дальше ларька использовать не смогут.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456290
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, тут каждый лучше других знает, что такое ORM, но в новом проекте никто использовать не собирается и завешенных проектов с ORM ни у кого нет.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456292
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любую АСУ можно построить без использования ORM, View и Stored Procedure.

Хотя я ни в коем случае не говорю что они не нужны или бесполезны в общем случае.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456541
ARGB32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовал ORM, но на Java (Hibernate).
По мере использования и освоения ORM подхода (да, она требует времени на освоение и немалого) впечатления менялись: сперва восторг (хотя сперва на самом деле скептически отнесся), т.к. работать с готовой объектной моделью при написании бизнес-логики куда приятнее, чем постоянно что-то подгружать, конвертировать и т.п. Далее было понимание, что не все так радужно, есть немало проблем. Впрочем, большинство из них решались освоением нюансов этого самого Hibernate.
В итоге:
ORM вполне рабочий и полезный подход, но, конечно, надо учитывать потребности проекта.
Владея этим подходом и хорошим фреймворком, его реализующим, можно гораздо быстрее получить рабочее решение, что для бизнеса, как правило, очень важно. Причем, вопреки распространенному мнению, производительности можно добиться весьма неплохой. ORM фреймворки обычно пишут люди, знающие SQL и общие принципы работы СУБД на таком уровне, на котором далеко не каждый программист знает. Плюс как правило из коробки идет кэширование.
Но, по крайней мере в случае с Хибернейтом (а скорее всего не только с ним), для этого нужно знать как его правильно готовить, в т.ч. саму объектную модель. А это все куда больший объем информации, чем надо знать без ORM. К тому же, ORM не избавляет от необходимости как минимум кому-то в команде хорошо знать SQL и СУБД на хорошем уровне.
В общем, если цель - знать поменьше, то ORM не лучший выбор.
Для т.н. high-load проектов я бы тоже не стал использовать ORM. Не только потому, что выжать самые оптимальные запросы будет сложно, но и потому, что в таких проектах скорее всего будут еще кэши на key-value хранилищах и идиллии с объектной моделью все равно не получится.
В остальных случаях как минимум стоит рассмотреть возможность использования ORM подхода.
Другое дело, есть ли хорошие ORM фреймворки для Delphi. Тут не подскажу, хотя лично мне симпатичен mORMot, т.к. его разработчик зарекомендовал себя хорошо. Плюс в комплекте средства для создания REST API.
По поводу "защиты" БД, торчащей в интернет, посредством оборачивания INSERT'ов и UPDATE'ов в хранимки - весьма сомнительная защита. Тут и в самих хранимках легко ошибиться, скажем, подставив аргумент в запрос и получив возможность SQL-инъекции (привет проблемы 10-летней давности). И права можно не верно задать. И просто на эксплойт нарваться, позволяющий лазить по БД куда вроде бы не положено. В общем, такой БД я бы никаких серьезных данных не доверил.
Сервер БД должен быть доступен исключительно внутри сети бакенда.
...
Рейтинг: 0 / 0
Есть ли смысл начниать новый проект на базе ORM?
    #39456543
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой продукт, как PowerDesigner, который по концептуальной модели формирует кучу триггеров, индексов и констрейнов и прочего добра на уровне ДБ. Дать это написать программеру процедур это - адЪ. Прогер может и "пролюбить" кое что. Не вижу чем это чем лучше ОРМ. Пользовал и то и другое. В двух словах: процедуры - пролетают.
...
Рейтинг: 0 / 0
17 сообщений из 117, страница 5 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Есть ли смысл начниать новый проект на базе ORM?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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