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.

5 Stron V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Wzorce projektowe, coto, poco, dlaczego
LBO
post 20.05.2009, 12:02:52
Post #61





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(cojack @ 20.05.2009, 10:30:34 ) *
Taki mi to singleton ze hoho, po prostu zwykly chory polimorfizm. To tak ja cala hora zabawa z interfejsami.


Powiedział co wiedział. Nawet się ortów nie będę czepiał smile.gif
Go to the top of the page
+Quote Post
nasty
post 20.05.2009, 13:46:42
Post #62





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


Bądź co bądź, to cojak ma rację w tym, że to nie jest Singleton.

LBO, ta klasa co zaprezentowałeś jest lekko zniekształconą implementacją wzorca Registry.

Ten post edytował nasty 20.05.2009, 13:49:20
Go to the top of the page
+Quote Post
cojack
post 20.05.2009, 15:55:17
Post #63





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


nospor niektórzy jednak tak uwarzają, podspodem link do skanu  z książki PHP i MySQL Vademecum Profesionalisty, odradzam ją wszystkim, którzy chcą się nauczyć php, wprowadza b.złe nawyki. Nie wiem co mogę polecić dla początkującego... ale wiem że ja zrobiłem źle, kupując tą książke (ale kiedy to bylo tongue.gif ).


Ten post edytował cojack 20.05.2009, 15:57:11


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
Kocurro
post 20.05.2009, 15:58:06
Post #64





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Widać, że niektórzy nie wiedzą po co jest dziedziczenie. Ale oczywiście bo JAVA tak robi to już musi być dobre - rzygać zaczyna się chcieć od tego tworu.
Go to the top of the page
+Quote Post
Crozin
post 20.05.2009, 16:57:26
Post #65





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W Javie interfacey również nie służą wielodziedziczeniu, służą one dokładnie temu czemu służą w PHP - wymuszeniu na danej klasie implementacji pewnych zachowań - metod.
Go to the top of the page
+Quote Post
LBO
post 21.05.2009, 23:08:47
Post #66





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(nasty @ 20.05.2009, 14:46:42 ) *
Bądź co bądź, to cojak ma rację w tym, że to nie jest Singleton.

LBO, ta klasa co zaprezentowałeś jest lekko zniekształconą implementacją wzorca Registry.


Może i nie jest. Ale tylko dlatego, że ma sam wzorzec ma narzuconą implementację.
Poza tym wprowadzenie Singletona do aplikacji to nadal decyzja biznesowa. Są miejsca gdzie się sprawdzi, są takie gdzie już tego nie zrobi (jet to związane z tym, czy obiekt posiada stan, czy nie - kto ma zrozumieć to zrozumie).
Wyodrębnienie mechanizmu tworzącego Singletona ma tą zaletę, że:
1. Obiekty tworzy się jako bardziej reusable.
2. Większa kontrola nad kodem (dajmy na to języki z rozbudowaną wielowątkowością, dzięki mechanizmowi o którym pisaliśmy można decydować czy oba wątki mają dostać ten sam obiekt biznesowy, czy nie).
3. Z punktu drugiego można wnioskować, że testowalność obiektów się zwiększa.

Między innymi z powyższych powodów, uważa się Singletona (jako tego przedstawionego przez dajmy na to Wikipedię biggrin.gif:D) za antywzorzec - a nie dlatego, że jest brzydki i niefajny.

Zawsze będę uważał, że Singletona da się zastąpić przemyślaną inżynierią smile.gif
Go to the top of the page
+Quote Post
nieraczek
post 22.05.2009, 14:29:14
Post #67





Grupa: Zarejestrowani
Postów: 405
Pomógł: 6
Dołączył: 12.01.2007

Ostrzeżenie: (0%)
-----


Dzięki temu forum dowiedziałem się o wzorcu Singleton przy łączeniu z jedną bazą danych i od tego czasu czasu go używam w tymże celu. Jeśli metody w np. dwóch klas wymagają nawiązania połączenia z bazą danych to bez singletona byłoby ciężko, tworzenie w takich klasach obiektów klasy odpowiadającej za połączenie z bazą danych byłoby bez sensu, bo gdybym następnie utworzył obiekty tych klas to byłyby dwa połączenia z bazą danych. Singleton ułatwia sprawę. W google jest o singletonie bardzo dożo informacji i z tego co wyczytałem należy do najważniejszych wzorców, nie wiem dlaczego go krytykujecie skoro on na prawdę jest pomocny.

Ten post edytował nieraczek 22.05.2009, 14:33:16
Go to the top of the page
+Quote Post
LBO
post 22.05.2009, 16:05:51
Post #68





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Takie obiekty o jakich piszesz się przekazuje (dalej do innych instancji), a nie tworzy kilkakrotnie.
Go to the top of the page
+Quote Post
murwazy
post 2.06.2009, 08:08:02
Post #69





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 13.04.2007
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(LBO @ 22.05.2009, 17:05:51 ) *
Takie obiekty o jakich piszesz się przekazuje (dalej do innych instancji), a nie tworzy kilkakrotnie.

albo uzywa sie singletona, ktory zwraca instancje juz utworzonego obiektu. przeciez po to jest ten wzorzec
Go to the top of the page
+Quote Post
Crozin
post 2.06.2009, 12:23:38
Post #70





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Singleton służy zapewnieniu, że w całej apliacji będzie tylko jeden obiekt danej klasy - po to jest ten wzorzec.
Go to the top of the page
+Quote Post
LBO
post 2.06.2009, 15:05:20
Post #71





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(murwazy @ 2.06.2009, 09:08:02 ) *
albo uzywa sie singletona, ktory zwraca instancje juz utworzonego obiektu. przeciez po to jest ten wzorzec


Czy ludzie nie czytają całych tematów? Patrzą tylko na dwa ostatnie posty i wyskakują z "genialnym" i "rozwiązującym wszelkie problemy (tj. głód, wojny i ubóstwo)" rozwiązaniem........ o_O?!?!?
Go to the top of the page
+Quote Post
murwazy
post 5.06.2009, 22:43:03
Post #72





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 13.04.2007
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(LBO @ 2.06.2009, 16:05:20 ) *
Czy ludzie nie czytają całych tematów? Patrzą tylko na dwa ostatnie posty i wyskakują z "genialnym" i "rozwiązującym wszelkie problemy (tj. głód, wojny i ubóstwo)" rozwiązaniem........ o_O?!?!?

sa ludzie, ktorzy zastanawiaja sie nad tym co pisza
Go to the top of the page
+Quote Post
marcio
post 5.06.2009, 22:50:00
Post #73





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(murwazy @ 5.06.2009, 23:43:03 ) *
sa ludzie, ktorzy zastanawiaja sie nad tym co pisza


Ale sa tez tacy co nie mysla nad tym co inni pisza


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
nieraczek
post 7.06.2009, 11:37:14
Post #74





Grupa: Zarejestrowani
Postów: 405
Pomógł: 6
Dołączył: 12.01.2007

Ostrzeżenie: (0%)
-----


A jaka są właściwie zalety/wady używania w przypadku nawiązywania połączeń z bazą danych:

1. klasy do nawiązywania połączenia z bazą danych będącej singletonem; w drugiej klasie, której metody wymagają połączenia z bazą danych tworzenie w konstruktorze instancji klasy do nawiązywania połączenia z bazą danych przez wywołanie statycznej metody tej klasy zwracającej obiekt tej klasy

2. klasy do nawiązywania połączenia z bazą danych będącej zwykłą klasą; utworzenie obiektu tej klasy, utworzenie obiekt drugiej klasy, którego metody wymagają połączenia z bazą danych przekazując do jego konstruktora obiekt utworzonej uprzednio klasy do połączeń z bazą danych

?

Jest jakaś przewaga 1. sposobu nad 2. lub 2. nad 1. ?

Ten post edytował nieraczek 7.06.2009, 11:38:24
Go to the top of the page
+Quote Post
Crozin
post 7.06.2009, 11:39:53
Post #75





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przewagi 2 na 1:
1) Możesz mieć wiele otwartych połączeń z bazą w tym samym czasie
2) Druga klasa staje się zdecydowanie bardziej elastyczna

Przewagi 1 nad 2:
-
Go to the top of the page
+Quote Post
marcio
post 7.06.2009, 11:59:06
Post #76





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
1) Możesz mieć wiele otwartych połączeń z bazą w tym samym czasie

Sorki ale nawet jakies opensource'owe cms'y/fora/portale korzystaja tylko z jednej bazy wiec to tylko jakis wynalazek chyba ze ktos pisze baze danych przestepcow dla FBI w USA to baz by musial miec 10 tongue.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
skowron-line
post 7.06.2009, 12:15:29
Post #77





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


to ja może bez zbędnego pi****** dam link
http://codersview.blogspot.com/search/labe...sign%20patterns


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
marcio
post 7.06.2009, 12:26:13
Post #78





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(skowron-line @ 7.06.2009, 13:15:29 ) *
to ja może bez zbędnego pi****** dam link
http://codersview.blogspot.com/search/labe...sign%20patterns

NIe rozumiem po co ten link zeby poczytac na czym polegaja dane wzroce to ja wiem.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Kamil Pietrzak
post 5.02.2010, 16:40:14
Post #79





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


no to pojechali...
...ale chyba dobry temat znalazlem

szukalem jakiegos skryptu na ktorym moglbym sie powzorcowac, moze niekoniecznie arta bo jestem dupa z angielskiego
zaczalem czytac joomle, jest zdecydowanie za duza
moze ktos ma lepszy pomysl co by podejrzec jakies rozwiazania ?
Go to the top of the page
+Quote Post
XianN
post 5.02.2010, 19:18:34
Post #80





Grupa: Zarejestrowani
Postów: 57
Pomógł: 9
Dołączył: 12.11.2005
Skąd: ze wnowu?!

Ostrzeżenie: (0%)
-----


joomle to poczytaj jak nie pisac. A na symfony sie ucz.


--------------------
Yes, sex is always the answer, it's never a question
Cos' the answers yes, oh the answers yes.
Not just a suggestion, if you ask the question
Then its always yes, yeah!
Go to the top of the page
+Quote Post

5 Stron V  « < 2 3 4 5 >
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: 20.04.2024 - 08:41