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: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Przez te święta człowiek rachube stracił i zapomniał o PRO.
No to może coś o wzorcach projektowych? Co to jest, na co to komu, jakie korzyści przyniesie stosowanie, jakie mamy wzorce (opis). |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 12 Dołączył: 9.10.2008 Skąd: Tricity.Rumia() Ostrzeżenie: (0%)
|
Witam chciałbym się przyłączyć do dyskusji.
Otóż tak jak Kocurro uważam iż implementacją singletonu jest klasa statyczna ... kto powiedział że ona nie ma instancji? to jest rzecz czysto abstrakcyjna - możemy założyć że ma jedną niepowtarzalną instancję do której programista nie ma poprostu dostępu, każdy dowód na to ( a przynajmniej nie przychodzi mi nic do głowy teraz) że klasa statyczna nie jest singletonem mozna skierowac przecikwo "singletonowi z jawną instancją". Gdzieś kiedyś czytałem że singleton to poprostu obejście braku klas abstrakcyjnych w php 4. Jeżeli kody takie jak ten zaprezentowany przez orglee #28 mają dowodzić potrzeby zastosowania Singletonu to nie mamy o czym rozmawiać. Przypisanie instancji do zmiennej statycznej i odwoływanie się do tychże singletonów przez klasę główną nie ma żadnego sensu(w sensie singletonowym ;] ). Zaryzykuję stwierdzenie, że aplikacja ta nie wykorzystuje wogóle wzorca singleton aczkolwiek może go implementować.(wniosek ... ) A do eliminacji pomyłek to polecam coś takiego:
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 12.01.2009 Skąd: Warszawa Ostrzeżenie: (0%)
|
Otóż tak jak Kocurro uważam iż implementacją singletonu jest klasa statyczna ... kto powiedział że ona nie ma instancji? to jest rzecz czysto abstrakcyjna - możemy założyć że ma jedną niepowtarzalną instancję do której programista nie ma poprostu dostępu, każdy dowód na to ( a przynajmniej nie przychodzi mi nic do głowy teraz) że klasa statyczna nie jest singletonem mozna skierowac przecikwo "singletonowi z jawną instancją". No to sie mylisz brachu i powiem Ci dlaczego. Klasa jest tylko pewna struktura, opisem zachowywania sie obiektow i zadna (nawet najmniejsza ;p) jej instancja nie jest alokowana w pamieci. Gdyby mozna bylo dodac dyrektywe static przed nazwa klasy, to wtedy prawdopodobnie mozna byloby tak powiedziec. Idac dalej, pola statyczne w klasie sa inicjalizowane w pamieci, dlatego mozesz na nich operowac. A klasa wtedy jest tylko takim interfejsem dostepu do tych danych. Poza tym, wg definicji, tworzac obiekt, tworzysz instancje, w zadnym innym wypadku. W pamieci jest tylko przechowywana jej struktura, bys ty sam ta instancje mogl powolac. A skoro instancje, programista moze powolac tylko tworzac nowy obiekt, singleton znaczy nie inaczej niz, pozwolenie na stworzenie tylko jednego obiektu. Poza tym dzieki temu ze jest to obiekt, mozesz go np serializowac i zapisac w cachu, klasy (tej niby statycznej) nie zserializujesz. Nic z nia nie zrobisz. mozesz tylko (powtorze sie) przez nia uzyskac dostep do blokow pamieci (pola statyczne). Dlaczego singleton nie jest antywzorcem? Przykladem jest sesja. moze byc tylko jedna. Nie mozemy wiec pozwolic na tworzenie wiecej niz jednego obiektu sesji, bo to mogloby miec fatalne skutki, np zniszczeniem danych sesyjnych. No i oglnie rzecz biorac, Sesja jest jedna, wiec jak moze byc reprezentowana przez kilka obiektow? Pozdrawiam Ten post edytował qba_rox 12.01.2009, 01:30:47 |
|
|
|
nospor Wzorce projektowe 17.04.2007, 10:42:25
splatch Może troszkę pokrótce moje subiektywne z... 21.04.2007, 21:22:57 
Sedziwoj Cytat(splatch @ 21.04.2007, 22:22:57 ... 21.04.2007, 21:30:04
splatch Doszło do nadinterpretacji. Wzorce to bardzo ... 21.04.2007, 22:00:54
Sedziwoj Wiesz wszędzie gdzie nie stosujesz wzorca tam spra... 21.04.2007, 22:16:24
Ociu Rzut linkami:
Grupowe:http://www.phppatterns.com/d... 22.04.2007, 08:02:19
splatch Pragnę nadminić, że niektórzy z biegiem czasu zacz... 22.04.2007, 08:18:06 
Ociu Cytat(splatch @ 22.04.2007, 09:18:06 ... 22.04.2007, 18:35:02
KOMPsognat Chciałbym jeszcze poruszyć temat podziału wzorców.... 26.06.2007, 19:07:57
splatch Świetny spis, którego próżno szukać po "książ... 4.07.2007, 14:47:33
KOMPsognat splatch: przyznam szczerze, że spis mi jest p... 29.07.2007, 13:05:44
Jim kopalnia: http://sourcemaking.com/
Cytat(KOMPsogn... 14.02.2008, 12:05:12
KOMPsognat Projekt umarł śmiercią naturalną - brak chętnych d... 24.02.2008, 11:57:38
markac To ja tak może z innej beczki. Wszyscy tu chyba są... 8.11.2008, 23:25:05
ayeo @markac, masz sporo racji. Jednak rozgraniczyłbym ... 9.11.2008, 12:59:04
qbatoja osobiscie uwazam nieodpowiednim nazywanie singleto... 20.11.2008, 00:27:45
tomek_swat proszę o wyjaśnienie pewnej kwestii spoktałem się ... 3.12.2008, 23:44:48 
markac Cytat(tomek_swat @ 3.12.2008, 23:44:4... 4.12.2008, 09:15:17
tomek_swat ok dzięki, czyli rozumiem, że mogę spokojnie stoso... 4.12.2008, 16:01:58
Kocurro W PHP singleton łatwo się uzyskuje tworząc klasę s... 5.12.2008, 15:13:39
Cysiaczek @Kocurro - nie żebym się czepiał, ale Singleton to... 5.12.2008, 23:41:46
Kocurro Cysiaczek - singleton to wzorzec projektowy ... pr... 5.12.2008, 23:45:32
Cysiaczek Klasa statyczna nie jest implementacją Singletona ... 6.12.2008, 03:11:12
chlebik Cysiaczek dobrze mowi. Dla informacji - ostatnie s... 10.12.2008, 10:29:28
nasty Osobiście, bardzo nie lubie wzorca Singleton ... 27.12.2008, 07:25:34
qbatoja w domu mam jeden piec do ogrzewania. zeby uzyskac ... 5.01.2009, 18:44:12
nasty ... albo przekaze gaz z jednego 6.01.2009, 16:47:18
orglee [PHP] pobierz, plaintext <?phpclass DRA_Engine ... 7.01.2009, 23:03:16
markac Wszystko 7.01.2009, 23:12:57
orglee To żeś mnie nawrócił na Context
Miałem jakoś tut... 7.01.2009, 23:46:54
wrzasq W twoim przypadku singletony są bez sensu i na pew... 8.01.2009, 02:54:52
orglee Rejestr dla wygody, natomiast Singleton jako uniem... 8.01.2009, 05:18:20
LBO Prawda jest taka, że przy kontekście w ogóle nie p... 8.01.2009, 09:01:43
orglee Jak mniemam w komentarzu metody po @return jest po... 8.01.2009, 11:17:28
LBO 1. Tak sadzę, że wynajdujesz koło na nowo
2. Po ... 8.01.2009, 11:47:07
nasty CytatDruga sprawa to sprawdzanie implementowanych ... 9.01.2009, 23:34:17 
nasty Cytat(qba_rox @ 12.01.2009, 02:20:52 ... 23.04.2009, 03:04:47
orglee Jak najbardziej masz racje nasty. Zapomniałem tylk... 11.01.2009, 14:08:38
Cysiaczek CytatGdzieś kiedyś czytałem że singleton to popros... 11.01.2009, 21:14:04
pinochet Jeśli chodzi o serializację - można to oczywiście ... 12.01.2009, 22:20:25
wrzasq Cytatdalej twierdzę, że stosowanie wyżej wymienion... 13.01.2009, 05:57:57
LBO Dorzucę swoje 0,02zl
Singleton nie jest z... 19.04.2009, 10:14:00
qba_rox @nasty
Pozwole sobie odpisac
Smiem poddac w watp... 1.05.2009, 13:59:11 
nasty Drogi @qba_rox, zauważ jednak, że takie uniemożliw... 1.05.2009, 20:34:53 
qba_rox Cytat(nasty @ 1.05.2009, 20:34:53 ) D... 2.05.2009, 10:15:35
Cysiaczek @nasty - a co jeśli obiekt, który tworzymy, d... 10.05.2009, 00:12:16
nasty @Cysiaczek, robi to samo, tyle, że na początku swo... 13.05.2009, 07:58:52
Cysiaczek To jest ilustracja do pytania, które zadaję Tobie ... 13.05.2009, 08:45:26
LBO Cytat(nasty @ 1.05.2009, 21:34:53 ) .... 13.05.2009, 09:05:04
pejott Cały problem w tym, że zaczęto implementować wzorz... 13.05.2009, 11:00:11
nospor CytatJa odciąłem się od singletona w moich projekt... 13.05.2009, 11:37:11
LBO Cytat(pejott @ 13.05.2009, 12:00:11 )... 13.05.2009, 11:45:28
pejott No tak, to było tylko ogólne spostrzeżen... 13.05.2009, 11:55:37
LBO Przygotowałem malutki przykładzik. Mam nadzieję, ż... 13.05.2009, 12:37:26
pejott Dzięki, właśnie tak to sobie wyobrażałem i prawie ... 13.05.2009, 15:11:45
cojack Taki mi to singleton ze hoho, po prostu zwykly cho... 20.05.2009, 09:30:34
nospor CytatA jak mi ktoś napisze że interfejsy... 20.05.2009, 10:43:03
LBO Cytat(cojack @ 20.05.2009, 10:30:34 )... 20.05.2009, 12:02:52
nasty Bądź co bądź, to cojak ma racj... 20.05.2009, 13:46:42
cojack nospor niektórzy jednak tak uwarzają, podspodem li... 20.05.2009, 15:55:17
Kocurro Widać, że niektórzy nie wiedzą po co jest dziedzic... 20.05.2009, 15:58:06
Crozin W Javie interfacey również nie służą wielodziedzic... 20.05.2009, 16:57:26
LBO Cytat(nasty @ 20.05.2009, 14:46:42 ) ... 21.05.2009, 23:08:47
nieraczek Dzięki temu forum dowiedziałem się ... 22.05.2009, 14:29:14
LBO Takie obiekty o jakich piszesz się przekazuje (dal... 22.05.2009, 16:05:51 
murwazy Cytat(LBO @ 22.05.2009, 17:05:51 ) Ta... 2.06.2009, 08:08:02
Crozin Singleton służy zapewnieniu, że w całej apliacji b... 2.06.2009, 12:23:38
LBO Cytat(murwazy @ 2.06.2009, 09:08:02 )... 2.06.2009, 15:05:20 
murwazy Cytat(LBO @ 2.06.2009, 16:05:20 ) Czy... 5.06.2009, 22:43:03
marcio Cytat(murwazy @ 5.06.2009, 23:43:03 )... 5.06.2009, 22:50:00
nieraczek A jaka są właściwie zalety/wady u... 7.06.2009, 11:37:14
Crozin Przewagi 2 na 1:
1) Możesz mieć wiele otwartych po... 7.06.2009, 11:39:53
marcio Cytat1) Możesz mieć wiele otwartych połączeń z baz... 7.06.2009, 11:59:06
skowron-line to ja może bez zbędnego pi****** dam link
http://c... 7.06.2009, 12:15:29
marcio Cytat(skowron-line @ 7.06.2009, 13:1... 7.06.2009, 12:26:13
Kamil Pietrzak no to pojechali...
...ale chyba dobry temat znalaz... 5.02.2010, 16:40:14
XianN joomle to poczytaj jak nie pisac. A na symfony sie... 5.02.2010, 19:18:34
Kamil Pietrzak zaraz sciagne i zobacze, na pewno nie zaszkodzi, m... 5.02.2010, 20:27:25
lukasz.adamczewski zobacz sobie sympala to tzw. content management fr... 23.02.2010, 23:21:47 ![]() ![]() |
|
Aktualny czas: 4.12.2025 - 15:17 |