Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Singleton w większości klas
-lukasamd-
post
Post #1





Goście







Witam,
mam pytanie odnośnie wzorca singleton. Jak na moje potrzeby, będę go chyba używał w większości klas w projekcie.
No i teraz pytanie: czy jest sens się powtarzać i w każdej klasie wklepywać odpowiedni kod? No chyba nie bardzo.

Jak więc to zrealizować?
Myślałem o tym, aby zrobić, ażeby konstruktory każdej klasy zawierały opcjonalny pierwszy albo ostatni parametr, określający, czy ma być używany singleton czy nie.

Pytanie: jak to w ogóle zrealizować? Wszystko do klasy abstrakcyjnej (o ile dobrze rozumiem jej założenia - w OOP raczkuję)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ucho
post
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

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


Najwyraźniej nie zrozumiałeś wzorca skoro nie wiesz jak go zaimplementować. Singleton praktycznie w każdym języku wygląda tak samo: konstruktor z modyfikatorem private/protected, prywatna statyczna zmienna 'instance' zainicjalizowana nullem, publiczna statyczna metoda getInstance(), która w razie potrzeby tworzy instancje, zapisuje ją do zmiennej i zwraca.
Z singletonem jest tylko jeden malutki problem - to horror w przypadku testowania. Jako, że nie ma żadnego wygodnego frameworka DI dla PHP (APC i podobne zjadają komentarze do pól i klas, w których są metadane :/) to zamiast singletonów proponuje wzorzec Registry.

Edit: Co do powtarzania kodu odpowiedzialnego za singleton - osobiście nie widzę w tym problemu, ale z łatwością znajdziesz kilka różnych implementacji bazowego singletona np. http://noteslog.com/post/yet-another-singl...ass-in-php-5-3/ .

Ten post edytował ucho 11.03.2010, 10:04:46
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: 10.10.2025 - 00:13