![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 9 Dołączył: 25.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ogarnąłem już PDO i używam statycznej zmiennej do połączenia się z bazą. Tutaj przykładowa klasa: https://gist.github.com/mprz/6cce0e6dd51e4796209c
Tworząc kilka klas niejako uzależniam je od klasy odpowiedzialnej za tworzenie połączenia. Czy to na pewno idealne rozwiązanie? Druga sprawa: gdzie inkludować ową klasę DB? W każdej z klas która jej używa, czy w programie, który korzysta z obu klas (tak robię obecnie)? -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Próbujesz rozwiązać problem który jeszcze nie istnieje. Jak się pojawi taka konieczność to trzeba będzie kod przebudować, ot nowa funkcjonalność/wymagania. Masz świadomość istnienia problemu i wiesz że w momencie gdy on wystąpi będziesz musiał mocno ingerować w całą masę kodu uzależnionego od bazy danych. Problemu, który wcale nie jest jakimś skrajnym przypadkiem. Mimo wszystko nie widzisz głupoty w korzystaniu tutaj z tak kulawego rozwiązania, szczególnie gdy wdrożenie normalnego nie stanowi żadnego problemu? Nie mówiąc już o tym, że autor wątku szuka "idealnego" rozwiązania.Cytat https://github.com/doctrine/doctrine1/blob/...anager.php#L262 Pierwsze to bardzo przestarzały Doctrine w wersji pierwszej - słabo napisany. W dodatku to co podałeś to Singleton dla menadżera/fabryki połączeń, a nie bezpośrednio połączenia, więc jeszcze sytuacja nie jest tak tragiczna.http://docs.jboss.org/hibernate/orm/3.3/re...irstapp-helpers Drugie to również fabryka połączeń (sesji), w dodatku jest to jedynie "śmieciowa" klasa na potrzeby tutoriala o ile mnie pamięć nie myli. W normalnym kodzie (niezależnie czy używanym przez interfejs JPA czy Hibernate'a) nie używa się takiej konstrukcji. Raczej wszędzie spotkasz się z jakąś formą wstrzykiwania EM-a/EMF-a jako zależności. Cytat Wygląda jak byś upierał się ze singelton z zasady jest zły, może i jest ale są miejsca w których jego zastosowanie jest praktyczne. Singleton z zasady nie jest zły, ale bardzo często próbuje się go wykorzystać tam gdzie nie ma to najmniejszego sensu i powoduje jedynie problemy. Akurat użycie Singletonu do uzyskania połączenia z bazą danych jest obok "moja pierwsza klasa - połączenie z bazą danych" najczęściej wałkowanym tematem na forum z tej kategorii, gdzie początkujący w kółko powtarzają te same błędy.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:08 |