![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Mogłby ktoś wytłumaczyć, jaka jest własciwie róznica pomiędzy wzorcem Singleton a tym, ze w klasie mamy wszystkie metody statyczne? Bo jakoś nie moge dojśc co i kiedy stosowac. Wg mnie to nie ma w tym wiekszej różnicy. A co wy sądzicie?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 19.08.2004 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że mamy klasę DB służącą do obsługi bazy danych oraz klasę DB_Mysql służącą do obsługi bazy MySQL. W rzeczywistym systemie klasa DB była by pewnie abstrakcyjna, ale załóżmy, że nasza klasa ma jakąś funkcjonalność (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Mamy też funkcję, która wykonuje jakąś operacje na na bazie danych. Do tego potrzebny jest jej obiekt klasy DB. Funkcja nie wie z jakiego silnika będziemy korzystać, więc po prostu prosi o obiekt typu DB. Wersja statyczna:
php wywali nam błąd, ponieważ funkcja foo() oczekuje instancji obiektu DB. A teraz Singleton:
Tak na szybko, tylko taki przykład przyszedł mi do głowy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 22:57 |