Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

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.

> Rejestr vs Singleton vs global, co jest lepsze
LEW21
post 21.07.2007, 19:22:47
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


--------------------
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cysiaczek
post 29.08.2007, 06:45:12
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Cytat
mógłbyś rozwinąć? nie bardzo rozumiem... na czym miałaby polegać ta elastyczność?
Jeżeli sam singleton to taka dana globalna, to wypada, aby programista zminimalizował ilość odwołań poprzez getInstance().Jeśli wyprowadzasz 5 klas z jednej bazowej i wiesz, że każda wykorzysta w którymś momencie obiekt singletona, to w klasie bazowej przypisujesz go do składowej, co może (choć nie musi) wpływać pozytywnie na hermetyzację zestawu klas.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Posty w temacie
- LEW21   Rejestr vs Singleton vs global   21.07.2007, 19:22:47
- - Cysiaczek   @LEW21 - Odnoszę wrażenie, że nie widzisz zalet re...   21.07.2007, 21:54:22
|- - LEW21   Cytat(Cysiaczek @ 21.07.2007, 22:54:2...   21.07.2007, 23:02:21
- - x3m   CytatDodajmy jeszcze że ten kod wygląda strasznie,...   22.07.2007, 18:29:43
- - menic   A nie lepiej po prostu przekazywać to co nam potrz...   22.07.2007, 19:44:17
- - LEW21   x3m, jeżeli programista zna kod skryptu, to nie zr...   22.07.2007, 23:20:19
- - Turgon   LEW21, takie pomyłki wynikają bardzo często... bar...   23.07.2007, 09:46:27
- - kwiateusz   Lew przy Twoim założeniu każdy programista pracują...   23.07.2007, 12:29:02
- - LEW21   Kwiateusz, bo wygenerowanie jakiejś listy globali ...   23.07.2007, 13:26:49
- - thornag   Hmm niedawno zaczalem pracowac w zespole gdzie pop...   23.07.2007, 13:38:48
- - UDAT   Najpierw chwila polemiki: @LEW21 CytatMusiałbym pr...   23.07.2007, 14:13:08
- - LEW21   thornag, nie można przesadzać ani w jedną ani w dr...   23.07.2007, 20:21:20
|- - thornag   Cytat(LEW21 @ 23.07.2007, 20:21:20 ) ...   24.07.2007, 08:38:08
- - EuReKa   Cytat(thornag @ 24.07.2007, 09:38:08 ...   24.07.2007, 14:28:17
|- - Sedziwoj   Cytat(EuReKa @ 24.07.2007, 15:28:17 )...   24.07.2007, 20:06:45
|- - LEW21   Cytat(Sedziwoj @ 24.07.2007, 21:06:45...   25.07.2007, 00:15:44
- - Sedziwoj   @LEW21 Nie będę Cię przekonywał, życie to zrobi ja...   25.07.2007, 06:26:06
- - Turgon   Ja sam doszedłem do wniosku. Mam gdzieś wszystkie ...   27.07.2007, 16:58:57
- - Kodie   Osobiście wydaje mi się, że używanie zmiennych glo...   29.07.2007, 16:22:39
- - Athlan   Registry to swego rodzaju singletony zrobione z in...   21.08.2007, 16:10:14
- - zimi   zaczęło mnie ostatnio dręczyć jedno pytanie, jaka ...   23.08.2007, 15:19:58
- - NuLL   A wiesz jaka jest roznica pomiedzy metodami statyc...   27.08.2007, 18:49:06
- - msulik   Myślę, że zimiemu chodziło o Paamayim Nekudotayim ...   28.08.2007, 09:04:16
- - Cysiaczek   @msulik - to zależy, co kto woli. Nic jednak nie s...   28.08.2007, 10:11:37
- - zimi   @NuLL: ogólnie pojęcie "dynamiczne metod...   28.08.2007, 21:22:54
|- - MalCom   Cytat(zimi @ 28.08.2007, 22:22:54 ) s...   28.08.2007, 21:42:12
- - wrzasq   @zimi: w Javie nie ma zadnych przedrostkow przed z...   28.08.2007, 22:13:48
|- - MalCom   @wrzasq: Ale jakby nie patrzec sa az 3 operatory d...   28.08.2007, 22:24:11
- - zimi   Cytatw PHP musi byc wyraznie powiedziane, czy odwo...   28.08.2007, 22:33:59
- - Cysiaczek   Cytatmógłbyś rozwinąć? nie bar...   29.08.2007, 06:45:12
- - msulik   Cytat(zimi @ 28.08.2007, 22:22:54 ) @...   29.08.2007, 12:48:40
- - Sh4dow   Cytat... Czy ktoś może wie, jak się nazywa konstru...   4.09.2007, 14:07:53
- - zimi   CytatCos takiego mozna wykozystac jako magazyn, al...   5.09.2007, 20:44:42


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 01:23