![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Rozmyslam nad pewną sprawą. Pewnie samym rozwiązaniem ameryki nie odkryłem, pewnie są już jakieś implementacje tego, jednak chodzi mi o to co o tym szanowne jury myśli ;]
Ostatnio popularny jest temat abstrakcji na bazy danych ;] Jednak rozwiązanie w stylu
jest dla mnie niesatysfakcjonujące. Dlaczego? Jakbym chciał "przestawić" aplikację aby dane czerpała z plików txt, czy np. z SOAP ( (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) ) musialbum obsłużyć jakimiś pregami składnie SQL. Mój pomysł jest taki
Itd. ;] Klasy xxxQuery przygotowywały by co trzeba, jak trzeba itp. Tworzyłby by odpowiednie zapytania do MySQL czy PgSQL a potem byłby to wykonywane. Jednak takim sposobem nie obsłużę takiego "złożonego" zapytania jak np. SELECT * FROM table LEFT JOIN cos ON cosik=2 LIMIT 4 Co w tym momencie ? Ano użytkownik (czyli ja) tworzył by sobie własną klase xxxQuery której zadaniem byłoby obslużenie tego jednego konkretnego zapytania. Potem w skrypcie tylko
i wszystko by grało. Teraz gdybym np. z MySQL chciał przejść do plików TXT wszystko polegalo by na przepisaniu podstawowych klas InsertQuery, SelectQuery, UpdateQuery itd. by obsługiwały owe pliki teksowe oraz tych "własnych" klas xxxQuery. Czy coś takiego ma jaki kolwiek sens ? Jakie są ewentualne wady a jakie zalety? Proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Ja tu tak czytam, i czytałem coś podobnego w książce i mam jedno rozwiązanie w głowie:
Kod | abstrakcja bazdy danych (jakis adodb, creole czy coś własnego) | | warstwa klas i metod typu User->getUserById, Auto->getAutoByRejestracja czyli takich, które ukrywają skąd są te dane, zwracają Ci same dane, dodatkowo mogą na nich operować) | | warstwa logiki czyli cały kod, który wszelkie dane wyciąga przez klasy/metody opisane w warstwie wyżej. co Wy na to? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 19:22 |