Rejestr vs Singleton vs global, co jest lepsze |
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 |
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
|
|
|
28.08.2007, 21:22:54
Post
#2
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) |
@NuLL: ogólnie pojęcie "dynamiczne metody" nie jest chyba powszechnie przyjętym albo je przeoczyłem, ale nieważne, tak znam tą różnicę ale chyba nie do końca mnie zrozumiałeś...
@msulik Cytat Myślę, że zimiemu chodziło o Paamayim Nekudotayim tego zdania nie bardzo rozumiem, z tego co mi wiadomo to "Paamayim Nekudotayim" jest jedynie śmieszną nazwą dla tego podwójnego dwukropka którego się używa przed metodami statycznymi (i nie tylko), ale może się mylę no ja myślałem nawet bez konstruktorów i desktruktorów bo miałem chwilowo jeszcze mniejsze potrzeby, ale na przykład zastosowanie kodu podobnej konstrukcji jak ten @msulika zamiast jakiegoś Singletona do obsługi bazy danych wydaję mi się bardzo dobrym pomysłem swoją drogą jest dla mnie niezrozumiałe stworzenie operatora :: przez twórców PHP do metod statycznych, w Javie do jednego i drugiego używa się kropki i wszystko jest w porządku... wg mnie :: jedynie utrudnia :/ no ale to taki OT @Cysiaczek: Cytat a My nieco jeszcze odtłuszczamy singletona i zyskujemy w ten sposób elastyczność kodu. mógłbyś rozwinąć? nie bardzo rozumiem... na czym miałaby polegać ta elastyczność? czyli nikt nie widzi przeciwwskazań dla takich "statycznych klas", zastanawia mnie tylko po co wymyślali Singleton skoro taka klasa statyczna wydaję się prostsza... Ten post edytował zimi 29.08.2007, 15:21:55 |
|
|
28.08.2007, 21:42:12
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 22.01.2006 Skąd: Wodzisław Śl. Ostrzeżenie: (0%) |
swoją drogą jest dla mnie niezrozumiałe stworzenie operatora :: przez twórców PHP do metod statycznych, w Javie do jednego i drugiego używa się -> i wszystko jest w porządku... wg mnie :: jedynie utrudnia :/ no ale to taki OT w cpp jest ., -> i ::, i nikt nie narzeka ;p -------------------- malcom.pl | xime.xorg.pl | http://wxwidgets.org.pl | software developer c/c++ php perl asm
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.06.2024 - 16:41 |