![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam kilka klas które komunikują się z różnymi typami baz danych. Wszystkie klasy tworzone są na zasadzie singletonów. Chciałbym napisać klasę nadrzędną DB która odpowiadała by za selekcję i użycie odpowiedniej klasy. Przekazywałbym do konstruktora nazwę, powiedzmy MySQL wtedy klasa zwracała by obiekt klasy MySQL jak to rozwiązać ? Chodzi tutaj o zapobiegnięciu edytowania wielu plików w razie rozrośnięcia się strony i zmiany bazy lub testów wydajnościowych na różnych bazach danych. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 0 Dołączył: 27.03.2007 Skąd: Osiek almost City ;-D Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie popatrz, popróbuj, może zrezygnuj z singletonu (byłoby łatwiej)? >>edit: zaraz Ci przytoczę kawałek o wydajności Reflection w PHP z PHPSolutions (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wait please... >>>>A cholera, nie chce mi się szukać. Tak na szybko: spadek wydajności będzie niewielki, wiele frameworków korzysta z Reflection i nie jest to strasznie wolne. Cytat Zwłaszcza że przy tworzeniu każdego obiektu DB będzie używane reflection. To twórz tych obiektów jak najmniej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Np. ja tworzę jeden dla wszystkich modeli wykorzystywanych w aplikacji (robię framework, trzeba się pochwalić czasem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ). Ten post edytował pbnan 5.04.2007, 18:14:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 13:11 |