Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> DAO
Vomit
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 23.01.2006

Ostrzeżenie: (0%)
-----


Nie raz spotkalem sie juz z pojeciem DAO: Data Access Object. Czym to jest? Do czego słuzy? Czy jest to kontroler bazy danych jak np. AdoDB? To jest wzorzec projektowy? narazie moja wiedza na temat tego jest zerowa - pelna domyslow i niedomowien.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
narazie moja wiedza na temat tego jest zerowa - pelna domyslow i niedomowien

OMFG: http://www.google.com/search?hl=en&hs=xgr&...ss+data&spell=1

juz lepiej?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
bigZbig
post
Post #3





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Po chłopsku ADO - to adapter baz danych - umożliwia przynajmniej w teorii stowrzenie zapytań sqlowych, które zostaną poprawnie zinterpretowane przez wszystkie obsługiwane przez dany adapter bazy. Przejście na inną bazę wiąże się zaledwie z kilkoma zamianami w zakresie konfiguracji adaptera.

DAO to odmienne podejscie do tego samego problemu. Tu nie tworzy się kodu uniwersalnego, ale wręcz przeciwnie - kod wyspecjalizowany pod katem wybranej bazy. Obiekt DAO zawiera tę część kodu, która - w przypadku podjęcia decyzji o dostosowaniu aplikacji do innej bazy danych - musi zostać sprawdzona co do zgodności z nową bazą. Z reguły pisze się po prostu osobną klasę DAO dla każdego serwera baz danych. Podejście to wymaga więcej pracy niż ADO, ale za to kod jest zoptymalizowany, a aplikacja bardziej wydajna.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
Sh4dow
post
Post #4





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


przy okazji. php5 posiada PDO czyli php Database Object. Wszystko jest super jesli nie chodzi o mysql. Posiada on dosc denerwojacego bug'a ktorzy poprostu killuje skrypt. party.gif


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
bigZbig
post
Post #5





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


PDO - pomijajac bugi - dostrcza jedynie wspolny interfejs przy obsludze baz danych, ale nie umozliwia bynajmniej pisanie uniwersalnego kodu. PDO nie jest abstrakcja baz danych na miarę AdoDB, ale juz na pszyklad Zend_Db korzystajacy z PDO sie do tego zbliza. Niestety Zend_Db ma wciaż wiele bledow, ktore poniekad wynikaja z niedoskonalosci PDO. Warto tez wspomniec, ze mozna tez posluzyc sie Zend_Db jednoczesnie niekorzystajac z PDO, ale jak narazie tylko w przypadku MySQLa i Oracla.

Ten post edytował bigZbig 1.07.2006, 09:53:28


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
Vengeance
post
Post #6





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Sh4dow: Jaki bug? Skoro masz ważne informacje to się podziel smile.gif

Co do bugów PDO... też mam z jednym doczynienia. Tzn ciągle nie wiem czy to jego sprawka, ale problem jest dziwny:
http://blog.stanowski.info/2006/06/08/problem-z-ormpdo/


--------------------
Go to the top of the page
+Quote Post
Sh4dow
post
Post #7





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


jesli chodzi o PDO to blad jest typowo po stronie servera. Biblioteka PDO_mysql ubija dzicko apache. Niestety nie wiem czy to wina samego PDO czy biblioteki mysql z ktora sie komunikuje. Nie jestem odosobnionym przypadkiem. przy tym bugu bylo juz parenascie komentarzy z powtarzajacym sie bledem. PDO dziala, ale nagle powoduje crash na clej lini. Nie jest to wina samego zapytania, bo po wykonaniu tego zapytania w innym miejscu to dziala. Naprzyklad u mnie bylo to 3 zapytanie przy ktorym "umierał".
W innych przypadkach bylo to naprzykład 4 zapytania. Wiem ze nad bugiem pracuja bo byly poprawki ale nie zawsze dzialaly.

Co do PDO ze nie jest idealne zgodze sie, ale przeciez jako programisci mozemy sobie ułatwic to i oprogramowac to wszystko i działa cudnie. Jeśli bug zostanie zlikwidowany postaram sie napisac tutaj. party.gif


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
elnino.pl
post
Post #8





Grupa: Zarejestrowani
Postów: 125
Pomógł: 0
Dołączył: 17.06.2006

Ostrzeżenie: (0%)
-----


PDO ma błąd związany z czyszczeniem własnych śmieci. Bardzo często wywołanie funkcji die/exit po zapytaniu poprzez PDO powoduje błąd 500.

http://bugs.php.net/bug.php?id=38095
http://bugs.php.net/bug.php?id=37445


--------------------
Go to the top of the page
+Quote Post
stloyd
post
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 17.06.2004

Ostrzeżenie: (0%)
-----


Odświeże lekko smile.gif
http://bugs.php.net/bug.php?id=37445
Został poprawiony w becie 5.2.
Cytat
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

Thank you for the report, and for helping us make php better.


Koniec offa z mojej strony ;D

Pozdrawiam (;


--------------------
[workstation] PHPStorm, Apache 2/nginx, php 5.3/5.4, MySQL 5.5/5.6
[employers] Infor S.A., Gadu-Gadu S.A., Redefine, HBM, KnpLabs
Go to the top of the page
+Quote Post
SongoQ
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Odnosnie ADO to do bardzo skomplikowanych zapytan dla wielu baz jednoczesnie nie da sie uzyc. W niektorych bazach pewne funkcjonalnosci sa nie zaimplementowane. Najczesciej w projektach spotyka sie rozwiazania ADO, gdzie i tak projekt jest skazany wylacznie tylko na jedna baze danych.

Odnosnie bledow PDO ma jeszcze jeden powazny blad zwiazany ze zwracaniem: Temat: PDO Bind i wysypka PHPa


--------------------
Go to the top of the page
+Quote Post
bigZbig
post
Post #11





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Uzycie ADO ma sens jedynie w przypadku uzycia maksymalnie prostych zapytan, a w takim wypadku jest to zawsze kompromis pomiedzy elastycznaoscia a wydajnoscia. Jesli chcesz zoptymalizowac swoj skrypt pod katem wydajnosci musisz niestety zrezygnowac z rozwiazan uniwersalnych typu ADO czy ORM.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
sf
post
Post #12





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(bigZbig @ 2.08.2006, 07:51 ) *
Uzycie ADO ma sens jedynie w przypadku uzycia maksymalnie prostych zapytan, a w takim wypadku jest to zawsze kompromis pomiedzy elastycznaoscia a wydajnoscia. Jesli chcesz zoptymalizowac swoj skrypt pod katem wydajnosci musisz niestety zrezygnowac z rozwiazan uniwersalnych typu ADO czy ORM.


W większości przypadków można użyć widoków lub procedur składowanych. Pozatym ręczne składanie bardzo rozbudowanych zapytań SQL jest niewskazane z uwagi na trudności z modyfikacją.


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
SongoQ
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
W większości przypadków można użyć widoków lub procedur składowanych.

I to w przypadku ORM jest trudnoscia, wiem to z doswiadczenia. Problem jest: 1 z wydajnoscia bo widok musi gotowe zbiory danych zwracac i zapytanie robisz do niego, 2 to nie zawsze tak latwo jest warunkami manewrowac. Wszystko zalezy od stopnia skomplikowania bazy i wyciaganych danych.

ORM ma jedna wade (teoretycznie takie narzedzie jak explain plan idzie w odstawke)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:46