NotORM

Обсуждаем, как правильно строить приложения
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

samdark писал(а): 2017.05.12, 12:27Пункт про протекание SQL в верхние слои — да, без репозитория будет течь, да и с ним может. Засчитывается.
это не проблема орм. это проблема того, что он не может все кейсы покрыть из коробки. хотя в доктрине есть свой query язык, который абстрагирует sql от разработчика.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

Ничего он не абстрагирует. DQL — тот же SQL, только сбоку.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

samdark писал(а): 2017.05.12, 12:49 Ничего он не абстрагирует. DQL — тот же SQL, только сбоку.
да, по памяти спутал с кверибилдером с экспрешнами. Не суть. Использование квери билдера поможет абстрагировать от sql, но не сможет все покрыть, т.к. диалекты sql имеют свои, уникальные, фичи. Только тогда sql может протечь. Это частный случай, и не проблема orm как таковой.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

От написания именно SQL как строки — да. От концепта SQL — скорее нет, чем да. В том же Yii можно писать свои scope типа recent(), а вот в большинстве билдеров попроще — нет. И получается, что у нас тот же SQL, только методами.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

samdark писал(а): 2017.05.12, 13:07В том же Yii можно писать свои scope типа recent(), а вот в большинстве билдеров попроще — нет
вопрос реализации. опять же не orm проблема. orm может и на sql быть голом - лишь бы результат маппила.

Код: Выделить всё

$entittyManager->get('User', 'select * from user where id = 1');
или я не прав?
samdark писал(а): 2017.05.12, 13:07И получается, что у нас тот же SQL, только методами.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

В статье речь про конкретный список ORM и им подобных, а не про маппер без привязки к хранилищу в общем.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

samdark писал(а): 2017.05.12, 14:21 В статье речь про конкретный список ORM и им подобных, а не про маппер без привязки к хранилищу в общем.
ну я в начале обсуждения и отметил, что в статье на примере некоторых реализаций обличают орм как идею, что некорректно.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

Тут опять вопросы теоретического и реального. В теории ORM норм, в реальности — имеем что имеем.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

samdark писал(а): 2017.05.12, 14:31 Тут опять вопросы теоретического и реального. В теории ORM норм, в реальности — имеем что имеем.
это неизбежно - нельзя абстрагировать sql, если нужно составить advanced запрос с диалекто-специфичной фичей. Это проблема орм? я считаю нет.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: NotORM

Сообщение anton_z »

А куда в случае с sql speaking objects в статье бизнес логику класть?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: NotORM

Сообщение zelenin »

anton_z писал(а): 2017.05.12, 14:44 А куда в случае с sql speaking objects в статье бизнес логику класть?
в модели. написать маппинги. над маппингами упрощающие обертки. итого: у тебя появилась простая орм.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

Логику как в эти sql speaking objects, так и в отдельные классы, которые этими speaking object оперируют. Там важный момент в примерах — базовые объекты у него всё-таки не привязаны к хранилищу. Они првязываются через декораторы.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: NotORM

Сообщение ElisDN »

Чем бы дитя не тешилось, лишь бы к этому ради скорости не скатилось :)
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: NotORM

Сообщение anton_z »

ElisDN писал(а): 2017.05.12, 15:20 Чем бы дитя не тешилось, лишь бы к этому ради скорости не скатилось :)
Это к чему?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: NotORM

Сообщение ElisDN »

anton_z писал(а): 2017.05.12, 15:26 Это к чему?
К отказам от ORM, шаблонизаторов, ООП и прочего.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

Меру надо знать, да :)
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: NotORM

Сообщение anton_z »

Не, ну в статье то как раз критикуется orm как противоречащий ооп подход. Тем бблолее, что мы же формально рефлексией инкапсуляцию нарушаем. Вот я и спросил у сведущих людей их отношение к подобным заявлениям
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: NotORM

Сообщение samdark »

Там не ORM как таковой критикуется, а Hibernate причём явно при использовании его определённым, не совсем верным способом.
Ответить