![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 204 Pomógł: 0 Dołączył: 26.12.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Może mnie ktoś oświecić dlaczego używa się singletonów? np:
skoro to samo można osiągnąć w ten sposób?:
Widze jakie są różnice, jednak nie rozumiem dlaczego singletony są stosowane skoro zapis Foo::bar(); jest wygodniejszy i kod klasy krótszy... Czy za pomocą singletonów można zrobić coś, o czym nie wiem? |
|
|
![]() |
![]()
Post
#2
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Singletony są zastępstwem dla obiektów globalnych (tak sie przyjeło w php 4 ), i zapewniam Cie że pojęcie to nie wzieło się z php, i w każdym obiektowym jezyku programowania ono występuje. Zapewniam również że znajdzie sie kiedyś sytuacja w której użycie singletonu będzie konieczne (lub bardziej praktyczne), więc to że używasz php 5 nie jest żadnym argumentem przeciw singletonom (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Oczywiście jeśli można przekazać instancję w inny sposób (np. jako referencja w parametrze jakiejś metody) to warto skorzystać z tego rozwiązania, a nie pchać się wszędzie z singletonami (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wszystko zależy od tego jak zbudujesz swoją aplikację, jeśli będziesz potrzebował w którymś miejscu singletonu (np. dwie zupełnie nie powiązane ze sobą klasy, ale jednej nagle sie zachce skorzystać z danych drugiej, ale ciężko będzie utworzyć powiązanie by je sobie przekazać) użyjesz go, jeśli nie to nie musisz sobie zawracać tym głowy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:49 |