класс для работы с БД

  • Автор темы -=SH@RK=-
  • Дата начала

-=SH@RK=-

Guest
класс для работы с БД

Почему почти во всех CMS системах(напр. PHPNuke) всю работу с БД стремятся выделить в один класс? Это что удобнее или быстрее?
 

Нечто

Психолог РНРClub
Это удобно, как и любой другой враппер. Быстрее же быть не может по опредлению.
В зависимости от степени абстракции можно, например, "незаметно" для основной программы менять платформу БД.
 

Demiurg

Guest
потому что люди, которые считают, что есть универсальные cms очень далеки от проектирования.
 

Vladson

Сильнобухер
Автор оригинала: Мутник
а какие еще, кроме PHPNuke???
Ну незнаю как вы, а я встречал почти везде...

А вообще вопрос развёрнут полностью

Автор оригинала: Нечто
Это удобно
Быстрее же быть не может по опредлению.
можно, например, "незаметно" менять платформу БД.
Думаю добавить тут больше нечего
 

Frol

Новичок
Vladson
незаметно поменять платформу в приложение средней сложности не получится.
 

tristram

Guest
Frol
это не так. к примеру phpBB поддерживает разные СУБД.
 

Нечто

Психолог РНРClub
незаметно поменять платформу в приложение средней сложности не получится
Согласен.
Я пришел к выводу, что DBAL годится только для удобной манипуляции данными (итерации и т.п.) и кеширования.
 

Vladson

Сильнобухер
Автор оригинала: Frol
Vladson
незаметно поменять платформу в приложение средней сложности не получится.
Как нельзя сказать на все 100 что это возможно, так же нельзя и отрицать этого, всё зависит от обстоятельств
 

Frol

Новичок
tristram
ты на слово "незаметно" обратил внимание?

Vladson
да.
я не знаю, что у тебя имеется в виду под "средней сложностью".
 

Frol

Новичок
Crazy
твоя практика говорит, что все базы данных придерживаются стандартов?
 

Crazy

Developer
Frol, моя практика говорит, что при правильно спроектированном приложении замена модуля DAO, заточенного на работу с MySQL, на таковой для Oracle проходит абсолютно незамеченной уровнем бизнес-логики.
 

Frol

Новичок
Crazy
как модуль справляется с специфическими для разных баз данных функциями/конструкциями?
 

Crazy

Developer
Frol, я не понимаю твоего вопроса, либо ты не понимаешь моего предыдущего ответа.

Как мясорубка справляется с прокручиванием мяса? Никак. Она его просто прокручивает. Она для этого сделана. Иначе это не мясорубка.

Как MySQL-реализация справляется с заданием "получить список 10 последних новостей"? Никак. Она просто и тупо посылает запрос.

Может быть, если ты опишешь гнетущую тебя проблему, то я смогу сказать, как с ней справиться? :)
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Frol
как модуль справляется с специфическими для разных баз данных функциями/конструкциями?
Crazy тонко намекает, что все специфические для баз конструкции лежат как раз в модулях DAO (разных для разных СУБД, вообще говоря). А лежащий выше слой о базах вообще ничего не знает, он знает о наличии метода (условно) getFreshNews().

Это, ясный хобот, имеет мало общего с расплодившимися аки тараканы библиотеками "абстрактного доступа" к СУБД.
 

Frol

Новичок
Crazy, зато я понимаю, что мы говорим о разных вещах.
 

Crazy

Developer
Frol, я говорю о том же, что и Sad Spirit. И уверен, что именно это имел в виду Нечто.

А о чем говоришь ты?
 
Сверху