![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Na tyle ile możliwości ma PHP w tej dziedzinie napisałem własną wersję klasy Singleton dla wzorca Singletonu, zamieszczając ją tutaj na forum chciałbym uzyskać troche opinii i propozycji odnośnie mojego rozwiązania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Gdzieś czytałem, że nie zaleca się rozpoczynać nazw metod od dwóch podkreślników, gdyż koliduje to z ogólnie przyjętym schematem nazewnictwa metod magicznych oraz konstruktora i destruktora w PHP. Jeśli też tak uważacie, proszę o propozycję ładnej nazwy angielskiej tejże metody (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Przykład użycia:
Pozdrawiam Ten post edytował Ociu 8.06.2008, 15:34:00
Powód edycji: poprawiłem bbCode (ociu)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Jeśli tworzysz sobie klasę abstract Singletona rozumiem, że będziesz jej używał gdzie się da? Tylko niestety singleton przeczy zasadą OOP, tworzy niepotrzebne "węzełki" w kodzie. Popracuj nad workflow obiektów a nie twórz takie potworki.
Jestem też ciekaw co Ci daje wywołanie zdefiniowanej funkcji w konstruktorze kiedy nie ma ona żadnego dostępu do metod i parametrów klasy. Przemyśl dobrze co napisałeś. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jestem też ciekaw co Ci daje wywołanie zdefiniowanej funkcji w konstruktorze kiedy nie ma ona żadnego dostępu do metod i parametrów klasy. Przemyśl dobrze co napisałeś. Czy mógłbym Cię prosić o rozwinięcie swojej myśli? Chciałbym być pewien tego co rozumiem z Twojej wypowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z góry wielkie dzięki za poświęcony czas. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Czy mógłbym Cię prosić o rozwinięcie swojej myśli? Chciałbym być pewien tego co rozumiem z Twojej wypowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z góry wielkie dzięki za poświęcony czas. Ok, źle przeczytałem kod. Ale nadal nie widzę sensu dla metody __initialize. Skoro nie pozwalasz nadpisać __construct, tym samym nadpisujesz __initialize to jest on tu tylko niepotrzebnym mostem. Rozumiem ochronę konstruktora jeśli byłoby tam coś jeszcze ale tu... W dodatku wymuszasz istnienie metody __initialize a jednocześnie nie ma tu żadnego interface'u. Konstruktor jest właściwą metodą do inicjacji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 16:22 |