![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 31.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Singleton to takie zmienne superglobalne, utrudniające dodatkowo podmianę pojedynczego komponentu systemu na inny. Jeżeli po prostu użyć zmiennych globalnych (albo nawet rejestru) można przypisać do danej zmiennej/pozycji instancję dowolnej klasy o dowolnej nazwie która ma po prostu określony API współpracujący z danym komponentem. Jeżeli jednak system używa Singletonu to nie jest to możliwe - konieczna jest albo modyfikacja danego komponentu albo utworzenie nowej klasy o nazwie takiej, jakiej rząda ten komponent.
Rejestr działa identycznie jak zmienne globalne, ale jest dużo mniej wygodny w obsłudze i na dodatek jest wolniejszy niż wbudowane w PHP zmienne globalne. Zmienne globalne też jakimś idealnym rozwiązaniem nie są, ale lepszego po prostu w PHP nie ma. Dlatego właśnie ich używam. @bim2 @BTW: tak Ten post edytował LEW21 21.07.2007, 19:23:39 |
|
|
![]() |
![]()
Post
#2
|
|
Admin Techniczny Grupa: Administratorzy Postów: 2 072 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
Lew przy Twoim założeniu każdy programista pracujący nad projektem musiałby znać cały projekt na wylot, a przy dużych projektach gdzie linie kody liczy się w tysiacach albo lepiej to wdrożenie programisty trwałoby bardzo długo i było mało opłacalne bo zanim by sie nauczył wszystkich globali których nie może zakryć to jednak by trwało. A przy singletonie (nie jestem zwolennikiem rejestru do przekazywania instancji obiektu tylko do trzymania konkretnych danych) to bez problemu w każdym miejscu kodu moze stworzyć nowy obiekt bez zastanawiania i wtedy musi tylko znać klasy które sa mu potrzebne (jakie mają, api itp) i od razu może pisać, a nie sie zastanawiać czy nie zakrył globala czy nie, a przy błędach spowodowanych podmianą globala to już masakra doszukać się co spowodowało błąd bo te błędy nie są tak oczywiste jak inne... No i to pokazuje ze wystarczy ze zna tylko kawałek projektu nad którym pracuje a nie całość co przyspiesza wdrażanie nowych osób
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 16:54 |