Объявление

Collapse
No announcement yet.

Как маппите обьекты на БД ?

Collapse
X
 
  • Filter
  • Время
  • Show
Clear All
new posts

  • Как маппите обьекты на БД ?

    Интересует, какой из способов маппинга обьектов (дотнет) на БД тут больше распостранен - нхибернейт, линкью итп
    У нас на работе к сожалению ООП практически не используется, поэтому доступ к БД напрямую - через вызовы ХП

  • #2
    Сообщение от sergey_pr Посмотреть сообщение
    Интересует, какой из способов маппинга обьектов (дотнет) на БД тут больше распостранен - нхибернейт, линкью итп
    У нас на работе к сожалению ООП практически не используется, поэтому доступ к БД напрямую - через вызовы ХП
    Это правильный подход. Хотите заб'емся на все drinks during the night что через 2-5 лет мода на ORM пройдет?
    Вы наверное молод еще и не видели "решения всех проблем" ввиде Corba, COM, Desing Patterns и UML 10-12 лет назад. Сейчас buzzwords имеются ORM, XML-RPC Java EE и AJAX. Bullshit уважаемая публика. реально работающие software как писались так и будут писаться на галимом монолитном C с иногда вкраплениями C++ (без templates конечно).
    I'm your penis, I'm your fire, your desire. oIo

    Comment


    • #3
      Сообщение от sergey_pr Посмотреть сообщение
      Интересует, какой из способов маппинга обьектов (дотнет) на БД тут больше распостранен - нхибернейт, линкью итп
      У нас на работе к сожалению ООП практически не используется, поэтому доступ к БД напрямую - через вызовы ХП
      Сергей,

      в Росси юзали NHibernate, здесь используем довольное редкую систему CSLA (CSLA .NET) но работает - и все необходимые функции выполняет.

      Я так понимаю что обшепринятого стандларта нет - да и все ORM системы в принципе похоже одна на другую довольно сильно.
      Never give up!

      Comment


      • #4
        Сообщение от Zlobnii_Sashka Посмотреть сообщение
        Сергей,

        в Росси юзали NHibernate, здесь используем довольное редкую систему CSLA (CSLA .NET) но работает - и все необходимые функции выполняет.

        Я так понимаю что обшепринятого стандларта нет - да и все ORM системы в принципе похоже одна на другую довольно сильно.
        классические - да, но вот тот-же linq2sql уже мягко говоря не сильно похож на хибернейт

        Сообщение от pfexec
        Это правильный подход
        что правильный подход - бизнес-логика под кнопками форм и в ХП ?

        Comment


        • #5
          А по моему то же самое
          Чем не похож то?
          Never give up!

          Comment


          • #6
            Сообщение от Zlobnii_Sashka Посмотреть сообщение
            А по моему то же самое
            Чем не похож то?
            linqtosql - очень простенький орм По сути его даже орм сложно назвать - это просто обертка вокруг таблиц БД. Т.е. ООП структура должна почти один в один ложиться в структуру базы
            В то время как хибернейт - маппер в полном смысле этого слова - может маппить ООП классы на сильно отличающиеся структуры таблиц, позволяют иметь иерархии, кэши и прочее
            Майкрософт имеет свой "официальный" маппер - EF

            Comment


            • #7
              Сообщение от sergey_pr Посмотреть сообщение
              классические - да, но вот тот-же linq2sql уже мягко говоря не сильно похож на хибернейт


              что правильный подход - бизнес-логика под кнопками форм и в ХП ?
              Правильный подход - в топку buzzwords. Не зная что такео бизнеслогика какой смыл это употреблять?
              I'm your penis, I'm your fire, your desire. oIo

              Comment


              • #8
                Сообщение от sergey_pr Посмотреть сообщение
                В то время как хибернейт - маппер в полном смысле этого слова - может маппить ООП классы на сильно отличающиеся структуры таблиц, позволяют иметь иерархии, кэши и прочее
                Майкрософт имеет свой "официальный" маппер - EF
                Эти кр00тые 1337 программеры как наворотят бизнеслогики с мапперами в полном смысле слова все stalls and comes to the grinding halt, нам Специалистам Высокого Класса приходится за большие Деньги ваших компаний все это разворашивать и переделывать, уже безо всякой бизнеслогики.
                I'm your penis, I'm your fire, your desire. oIo

                Comment


                • #9
                  pfexec, тебя что, забанили на rsdn, пришел сюда ? Иди лучше на sql.ru, там таких как ты любят или и там уже забанили ?

                  Comment


                  • #10
                    Сообщение от sergey_pr Посмотреть сообщение
                    pfexec, тебя что, забанили на rsdn, пришел сюда ? Иди лучше на sql.ru, там таких как ты любят или и там уже забанили ?
                    Похоже, уже везде забанили, осталось только писать анонимусом на ЛОРе
                    Strange women lying in ponds distributing swords is no basis for a system of government!

                    Comment


                    • #11
                      Сообщение от sergey_pr Посмотреть сообщение
                      pfexec, тебя что, забанили на rsdn, пришел сюда ? Иди лучше на sql.ru, там таких как ты любят или и там уже забанили ?
                      Ad hominem attack. Судя по вашей ретивости Вы я полагаю прибежите за помощью в "я все правильно ORMed and mapped all the objects а оно еле ворочается и сыпет exceptions" еще до концы финансовогого года.
                      I'm your penis, I'm your fire, your desire. oIo

                      Comment


                      • #12
                        ORM это абстракция, которая делает вид что запись(несколько записей) в талице(ах) это обьект в памяти и пытается экранировать клиента от суровой действительности используя всякие кэши и ленивую инициализацию.

                        В зависимости от типа приложения и от алгоритмов/способов доступа к данным, обьема этих самых данных это может работать чудесным образом без особого вреда для производительности, может даже работать лучше чем голый SQL за счет кэширования или может грандиозно тормозить.

                        К тому же сама обьектно-ориентированая модель имеет свои ограничения и недостатки. Например поиск обьектов ссылающихся на определенный обьект в обьектной модели будет в общем случае просто перебор всех обьектов кто может ссылаться на наш обьект, а в табличном виде это элементарный селект.
                        Если ORM не поддерживает прямого лазанья в БД типа вот SQL условие - верни вектор обьектов удовлетворяющих этому условию - тут даже оптимизировать нечего. Например MS SMO (обьектный интерфейс к обьектам SQL Server) это типа ORM, имеет всякие прибамбасики для настройки чего фетчить сразу а чего по мере надобности, но все равно в большинстве случаев чудовищно тормозит по сравнению с прямым SQL, главным образом изза большого числа мелких запросов к БД (Latency) Если приложение и СУБД на разных машинах, производительность падает еще сильнее (на порядки).
                        Это как в CORBA - нельзя с удаленным обьектом работать как с локальным (много мелких обращений) и надо учитывать эту хрень когда проектируешь систему.

                        The Law of Leaky Abstractions - Joel on Software

                        Тут товариш хорошо написал про абстракции.
                        У него вообще много хороших мыслей ))
                        LiveDoco - Live SQL Server database structure explorer and documentation tool

                        Comment


                        • #13
                          Сейчас используем MS Business Objects. Если выйдет VS 2010 и мы на нее пересядем, то наверно на MS Entity Framework. Хотя и NHibernate ничего.
                          Я бы не стал приводить аналог CORBA к ORM. Все-таки ORM до того, как оно появилось, существовало в реальной жизни. Просто лепили кто как мог - теперь решили это дело систематизировать.

                          Comment


                          • #14
                            Ну RPC тоже существовало до CORBA
                            LiveDoco - Live SQL Server database structure explorer and documentation tool

                            Comment


                            • #15
                              Сообщение от Z1024 Посмотреть сообщение

                              The Law of Leaky Abstractions - Joel on Software

                              Тут товариш хорошо написал про абстракции.
                              У него вообще много хороших мыслей ))
                              Я господину Сергею на что и намекаю но он видно молод и еще не наелся всех этих TLAs и frameworks. Из моего Огромного Опыта я вынес что:

                              - призванные решить Все Проблемы (а также перхоть) Kewl Frameworks в реальности увеличивают время разработки часто в разы, требуют неадекватных затрат для поисков специалистов, доведения до HR/agencies чего же Вам собственно надо, интервью всех булшиттеров индусов с "3 годами опыта работы с VS 2010" и т. д.
                              - Все внедрения Крутых Универсальных Frameworks в расчете что "в будующем мы расширим функциональность чтобы работала не только с MySQL но и с Oracle и вообще должна быть абстрагирована от Data Access Layer" на практике в 90% случаев это булдующее не приходит никогда, а в 10% требует не меньших затрат чем просто переписать имея новую DBMS ввиду.

                              По этому я ск%%%ичен насчет всех разных ORMs и прочих thingamagig потому что они не имеют под собой реального резона.
                              I'm your penis, I'm your fire, your desire. oIo

                              Comment

                              Working...
                              X