[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: В чем смысл использования ORM?
XCoder
Здравствуйте!

Заинтересовал вопрос использования ORM в проектах. Собственно, не совсем ясно, зачем применять именно ORM для работы с данными, в чем основные преимущества?

Если я правильно понимаю, то ORM позволяет сделать объектную проекцию модели данных. Например, с помощью проекции ( Таблица <-> PHP-Объект )

Соответственно, насколько я могу судить, все фичи такого подхода обусловлены только тем, что этот объект можно наследовать, и тем самым расширять функционал новыми методами по работе с данным объектом.

Допустим, в БД есть таблица с описанием велосипедов. ORM предполагает наличие прототипа (класса) описывающего эту таблицу, чтобы сформировать объект (Bykes). Далее, допустим, мы унаследуем этот класс для некоторого класса с методами относящимися к обработке данных именно этой таблицы: допустим метод Mountain() будет выбирать горные велосипеды из таблицы.

Итоговая конструкция: $Bykes->Moutain();


Но я никак не могу понять, в чем реальная польза от такого подхода?

Чем использование ORM лучше, чем использование динамического создания объектов через адаптер к БД с динамическим подключением необходимого функционала?

Иными словами, чем ORM лучше, чем способ создания объекта той или иной таблицы "на лету" ?



Спустя 4 часа, 19 минут, 36 секунд (23.10.2011 - 09:26) T1grOK написал(а):
ORM - более абстрактна, чем обертка над БД. Более ясно и удобно использовать связи между таблицами. C другой стороны, чем сложнее запрос, тем тормознутей выполнение ORM конструкций.

Спустя 7 часов, 52 минуты, 45 секунд (23.10.2011 - 17:19) XCoder написал(а):
>>> Более ясно и удобно использовать связи между таблицами

Не могли бы вы привести некоторые абстрактные конструкции, хотя бы даже в придуманном псевдокоде, чтобы можно было немного более конструктивно представить удобство использования связей между таблицами?

Спустя 1 час, 29 минут, 6 секунд (23.10.2011 - 18:48) caballero написал(а):
ORM - для задротов, думающих что могут обойтись без изучения SQL запросов.
Можно еще с оговорками понять использование таких библиотек в серверах приложений на яве но в PHP это только лишние тормоза.

Спустя 55 минут, 33 секунды (23.10.2011 - 19:43) Семён написал(а):
Крайне не люблю ORM.

Спустя 2 часа, 36 минут, 36 секунд (23.10.2011 - 22:20) XCoder написал(а):
Какие на ваш взгляд могут быть в данном случае удобные альтернативы для работы с базами данных?

Спустя 3 минуты, 57 секунд (23.10.2011 - 22:24) Семён написал(а):
XCoder
QueryBuilder.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.