Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sens stosowania singleton w php
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Piszę sobie klasę do obsługi bazy danych i przyglądam się tak bardzo popularnemu wzorcowi singleton. Wszyscy jako przykład użyteczności tego wzorca podają przykład tworzenia instancji klasy do obsługi bazy, tzn połączenia z bazą. Zacząłem się zastanawiać gdzie jest sens, oczywiście w języku php. Zakładam, że mam taką klasę i w skrypcie łącze się z bazą danych, jeśli nie ma nawiązanego połączenia to tworzę obiekt tej klasy a jeśli jest to nie tworzę.

Wszystko jasne. Tylko gdzie jest sens stosowania tego w php. Przecież w skrypcie zazwyczaj tworzy się połączenie z bazą, wykonuje potrzebne operacje na bazie a po zakończeniu wywoływania skryptu, połączenie i tak jest zamykane automatycznie.. Więc jaki jest sens stosowania tego w php?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ale nie o to chodzi w Singletonie. To jest wzorzec do rozprowadzania i udostępniania tego samego obiektu wielu innym klasom i obiektom. To, że wiele osób zaleca go do udostępniania obiektu DB, to nie znaczy, że nie można stosować alternatywnych rozwiązań. Jeśli chcesz udostępniać tylko wskaźnik połączenia, to nie musisz robić do tego singletona. Możesz tak jak mówisz zrobić static $zmienna, albo wogóle global $zmienna. Wartości Singletona nie zobaczysz w małym skrypcie, albo w systemie www pisanym strona po stronie. Zobaczysz za to w bardzo rozproszonej, polimorficznej aplikacji, gdzie 20 klas operuje na jednym i tym samym obiekcie (np mapa pliku konfiguracyjnego) wierząc, że nie może być inaczej, bo gdyby było - system by padł.

Najważniejsza jest zasada: Nie będziesz tego potrzebował oraz Jeśli nie widzisz problemu, nie korzystaj ze wzorca na siłę

Pozdrawiam.
Go to the top of the page
+Quote Post
Jarod
post
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(Cysiaczek @ 15.01.2007, 13:19:17 ) *
Jeśli chcesz udostępniać tylko wskaźnik połączenia, to nie musisz robić do tego singletona.

A co innego udostępnia singleton? Przecież chodzi właśnie o uchwyt połączenia..

Nigdy nie stosuję czegoś na siłę. Pytam się bo chcę rozważyć na ile może być to przydatne.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 16:16