Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> MVC vS HMVC, pro i contro
marcio
post
Post #1





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

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


Pytanie proste jak budowa cepa i mam nadzieje ze odpowiedzi tez takie beda, bez owijania w bawelne.

A wiec dlaczego wedlug was wzorzec MVC jest bardziej "slyszny" niz HMVC jakie sa przewagi jednego nad drugim i jakie sa minusy...?

P.S interesuja mnie tylko sensowne odp na polskich forach o tym jest malo, a z tego co widze dalej wiekszosc "publicznych" fw korzysta z MVC oprocz Kohany 3, i moze jakiegos jeszcze...?

P.S2 a moze jakies inne ciekawe wzorce zwiazane z projektowaniem stron...?


--------------------
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
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~Zyx lubi pisać na takie tematy, odsyłam:
http://www.zyxist.com/pokaz.php/poeksperymentujmy_z_mvc
http://www.zyxist.com/pokaz.php/rozwazania_o_wzorcu_mvc


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
NuLL
post
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Nie ma czegos takiego ze wzorzec jest bardziej sluszny. Wybor wzorca podobnie jak i kwestia jego implementacji jest sprawa inwidualna.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
marcio
post
Post #4





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

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


Cytat(NuLL @ 1.09.2010, 00:07:33 ) *
Nie ma czegos takiego ze wzorzec jest bardziej sluszny. Wybor wzorca podobnie jak i kwestia jego implementacji jest sprawa inwidualna.

Moze bardziej wybor zalezy od sytuacji, w tym przypadku jednak wzorce sluza do tego samego tylko ze maja male roznice jeden wprowadza nowosci w porownaniu do drugiego w tym tkwi roznica.

Nie chodzi o ktory jest bardziej sluszny chodzi mi o pro i contro dlaczego ktos z was wybralby MVC/HMVC lub potoczne MVP z kazdego php'owego fw snitch.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
Crozin
post
Post #5





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

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


Zajrzyj do wiki (raczej angielskiej bo stoi jednak na wyższym poziomie), przeczytaj o każdym z tych wzorców, bo każdy z nich ma inne założenia a co za tym idzie wymusza inną implementację.

Cytat
dlaczego wedlug was wzorzec MVC jest bardziej "slyszny" niz HMVC
To są dwa różne wzorce z pewnymi wspólnymi elementami i służą do rozwiązywania różnych problemów.
Cytat
a z tego co widze dalej wiekszosc "publicznych" fw korzysta z MVC
W takimi razie odsyłam do wiki - żaden z popularnych FW PHP nie implementuje MVC.

Żadnego z tych wzorców ((H)MVC, (H)MVP) nie da się zaimplementować w PHP z racji środowiska w jakim ten pracuje. To powinno już dawno skończyć dyskusję n/t ich implementacji, która jest po prostu nie możliwa.

PS. MVC i resztę można by zaimplementować wykorzystując WebSockets czy nawet starego, dobrego AJAXa - jednak taka implementacja byłaby dostępna jedynie dla "aplikacji internetowych", nie zwykłych stron, gdzie trzeba uwzględnić brak obecności JS.

Ten post edytował Crozin 1.09.2010, 07:03:22
Go to the top of the page
+Quote Post
Theqos
post
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 8
Dołączył: 5.12.2008

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


Nie wiem czy te wzorce służą do rozwiązywania różnych problemów, ale jeśli dzięki nim możesz rozdzielić prezentację strony od jej logiki to jestem za winksmiley.jpg Dodaj do tego możliwość ponownego wykorzystania kodu (z kontrolera) i czego chcieć więcej? IMHO wszystko się kreci wokół DRY, KISS i zachowaniu dużej ortagonalności kodu (luźne powiązania, wysoka spójność).

Cytat(marcio @ 31.08.2010, 23:39:02 ) *
P.S2 a moze jakies inne ciekawe wzorce zwiazane z projektowaniem stron...?

* programowanie komponentowe, np. Wicket http://en.wikipedia.org/wiki/Apache_Wicket
* view first z Lift'a http://wiki.liftweb.net/index.php?title=Lift_View_First
Go to the top of the page
+Quote Post
kbsucha
post
Post #7





Grupa: Zarejestrowani
Postów: 113
Pomógł: 19
Dołączył: 2.08.2007

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


U mnie MVC pojawił się naturalnie wraz z rozwojem moich umiejętności programistycznych, po prostu w pewnym momencie zacząłem rozdzielać pewne elementy programu od siebie, potem przeglądając źródła innych FW PHP, trafiłem na ich rozwiązania MVC i w ten sposób skończyłem z praktycznie identycznym rozwiązaniem jak w Kohanie. A czy jest to idealne MVC, czy MVP, czy model powinien być przekazywany do widoku, czy tylko dane z modelu, to dla mnie przynajmniej, ma drugorzędne znaczenie. I w tej kwestii mam to samo zdanie co @NuLL.
W twoim przypadku polecam wypróbowanie obu metod i samemu ocenić co dla Ciebie jest bardzie naturalne i w czym wygodniej ci się pracuje. Nawet całkiem prosto można to zrobić właśnie w Kohanie przy użyciu wersji 2.4 i 3.


--------------------
Go to the top of the page
+Quote Post
Crozin
post
Post #8





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

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


@kbsucha: OK, możesz tak robić, ale nie nazywaj tego MVC, bo to tym nie jest. Nawet jeżeli już skręcisz w dobrym kierunku, tj. do widoku przekazujesz model to nie znaczy, że masz MVC - nadal brakuje Ci dwóch podstawowych elementów tego wzorca - komunikacji widok->model i model->widok. To pierwsze jest bardzo ograniczone (bo masz tylko jedną możliwość nawiązania takiej komunikacji), to drugie w ogóle nie istnieje. Mowa tutaj oczywiście o PHP działającym w środowisku serwera HTTP.

Pewne elementy tych wzorców da się zaimplementować na potrzeby strony internetowej - ale one nie były tworzone z myślą o takim zastosowaniu.

PS. MVC to nie jest wcale jakieś "najlepsze rozwiązanie" - to tylko jedno z wielu. I każde ma swoje plusy i minusy.
Go to the top of the page
+Quote Post
marcio
post
Post #9





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

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


Cytat
To są dwa różne wzorce z pewnymi wspólnymi elementami i służą do rozwiązywania różnych problemów.

Okresl jaki ROZNYCH problemow, jesli mozesz.
Cytat
W takimi razie odsyłam do wiki - żaden z popularnych FW PHP nie implementuje MVC.

Wiem, wiem zagalopowalem sie mialo byc MVP snitch.gif
Cytat
Żadnego z tych wzorców ((H)MVC, (H)MVP) nie da się zaimplementować w PHP z racji środowiska w jakim ten pracuje. To powinno już dawno skończyć dyskusję n/t ich implementacji, która jest po prostu nie możliwa.

DLa tego mowimy o implementacji jaka da sie zrobic w srodowisku HTTP ;]

@Theqos na pewno sprawdze ;-)
@kbsucha ja wiem jak dzialaja, jak je uzywac, po co i dlaczego nie w tym sek.


--------------------
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
starach
post
Post #10





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

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


Jako że jak zwykle przy temacie MVx pojawia się dyskusja o x pozwolę sobie wrócić do meritum sprawy. tongue.gif

HMxC nadaje się do budowania modularnych aplikacji i jest rozszerzeniem MxC. Trudno jest tutaj mówić o plusach i minusach, bo jak wspomniałem jedno jest dzieckiem drugiego. Korzystasz z którego jest ci lepiej w danej sytuacji.

~Crozin: Dlaczego widok nie może aktualizować modelu? Według mnie raczej to jest kwestia braku potrzeby takiej aktualizacji.

edit>
Literki mi się przestawiły zamiast MxV było MVx tongue.gif

Ten post edytował starach 1.09.2010, 13:51:03
Go to the top of the page
+Quote Post
Spawnm
post
Post #11





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(marcio @ 1.09.2010, 12:50:34 ) *
Wiem, wiem zagalopowalem sie mialo byc MVP snitch.gif

Czemu MVP ?
Z wikipedi:
Cytat
Model View Presenter - Kontroler (tu: Presenter) zna interfejs Widoku i posiada referencję do aktualnej jego instancji. Widok nie ma bezpośredniego dostępu do Modelu


A jak my mamy w fw bajery typu
  1. //view.phtml
  2. <h1>view</h1>
  3. <?php
  4. $anyArray=model_form::cos();
  5. $form->open('/any.php');
  6. $form->create($anyArray);
  7. $form->close('ok');
  8. ?>
  9. <p>copy by foo</p>

To co? Mamy MVP z widokiem który ma dostęp do modeli ? Czy MVC ?
Go to the top of the page
+Quote Post
marcio
post
Post #12





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

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


Cytat
HMxC nadaje się do budowania modularnych aplikacji i jest rozszerzeniem MxC. Trudno jest tutaj mówić o plusach i minusach, bo jak wspomniałem jedno jest dzieckiem drugiego. Korzystasz z którego jest ci lepiej w danej sytuacji.

Ok nie zwracajmy uwagi poki co czy to jest HMVP/MVP czy HMVC/MVC lecz poki co skupmy sie na roznicy pomiedzy zwyklym MVP/MVC a rozszerzeniem z H ;]

Rozumiecie o co mi chodzi?
Chcialbym zeby poki co kazdy z was oprocz wykladow pomiedzy MVC a MVP i ich implementacji w php skupil sie pomiedzy zwyklym "modelowaniem" aplikacji za pomoca MVC/MVP a Gdy dodamy nastepny poziom "abstrakcji" Hierarchial.

Dla mnie HMVC/P jest bardziej naturalnie odrazu zaczolem pisac aplikacje modularnie, z klockow gdy tylko zapoznalem sie z MVC/MVP z czasem zorientowalem sie ze tworze aplikacje wlasnie "zgodnie" z HMVC.
TO jest najwieszka przewaga nie wyobrazam sobie pisac nie modularnie.

Dla was jakie sa plusy?Sa inne roznice itp...itd...?


--------------------
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
kbsucha
post
Post #13





Grupa: Zarejestrowani
Postów: 113
Pomógł: 19
Dołączył: 2.08.2007

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


@Crozin w sumie racja, najmniej bolesnym nazewnictwem dla wszystkich miłośników prawidłowej nomenklatury wzorców, będzie "trójwarstwowa architektura aplikacji"
@Marcio bardzo dobrze, że wiesz o co chodzi w tych wzorcach i w ostatnim poście napisałeś, że dobrze pisze Ci się w HMVC. Czy teraz jeżeli dla przykładu trzy, powiedzmy dość szanowane i ogólnie dobrze znające się na programowaniu, osoby z tego forum, wypiszą ci mnóstwo plusów na temat MVC, to porzucisz programowanie w HMVC, które wydaje Ci się naturalne i wygodne? Ja przyznam się szczerze przegapiłem moment w którym wzorce projektowe przestały być wskazówkami dla programistów, a stały sie kajdanami. Ale to tak zupełnie na boku winksmiley.jpg.

Żeby nie było totalnego off-topa to dla mnie podstawową zaletą Hierarchical MVC, podobnie jak u Ciebie, jest jego modułowość, co pozwala na wygodne powtórne używanie kodu, no i co się z tym wiąże mniejsze zależności między konkretnymi modułami. No ale jak wcześniej pisałem, moja trójwarstwowa architektura wystarcza mi w zupełności w codziennej pracy.

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


@marcio oczekujesz bardzo szczegółowej odpowiedzi na ogólne pytanie. A w rzeczywistości HMVP nie jest lepsze w niczym od MVP. Powiem więcej, MVP nie jest lepsze od HMVP.
Po prostu oba wzorce są najlepsze w zastosowaniu do odpowiednich problemów. Zaproponuj konkretny przypadek to dowiesz się jakie mogą być plusy i minusy (H)MVP.

Podobnie można dyskutować czy młotek gumowy jest lepszy od młotka żelaznego. A tak naprawdę oba są "lepsze".

Ten post edytował mike 1.09.2010, 17:57:44
Go to the top of the page
+Quote Post
marcio
post
Post #15





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

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


Cytat(mike @ 1.09.2010, 18:57:07 ) *
@marcio oczekujesz bardzo szczegółowej odpowiedzi na ogólne pytanie. A w rzeczywistości HMVP nie jest lepsze w niczym od MVP. Powiem więcej, MVP nie jest lepsze od HMVP.
Po prostu oba wzorce są najlepsze w zastosowaniu do odpowiednich problemów. Zaproponuj konkretny przypadek to dowiesz się jakie mogą być plusy i minusy (H)MVP.

Podobnie można dyskutować czy młotek gumowy jest lepszy od młotka żelaznego. A tak naprawdę oba są "lepsze".

To podaj jakies 2 przyklady gdzie lepiej bedzie pasowal jeden wzorzec a gdzie drugi, skoro pytam to znaczy ze nie widze 2 konkretnych przypadkow, dla mnie (H) bedzie zawsze lepsze niz zwykle tworzenie aplikacji, poprostu dla mnie modulowosc rozbijanie aplikacji na klocki to wielki plus, wyszlo mi to naturlanie z czasem wiec nie wiem dlaczego MVC/MVP mialoby byc lepsze w jakimkolwiek przypadku snitch.gif

TO jak dyskusja sie juz skonczyla, myslalem ze wyniosy z niej cos nowego,a tu nic!


--------------------
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
Crozin
post
Post #16





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

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


Cytat
O jak dyskusja sie juz skonczyla, myslalem ze wyniosy z niej cos nowego,a tu nic!
Szczerze... mnie się już nie chce po raz 2342346 wałkować wątku z "MVC" w nazwie - szczególnie, gdy pytanie jest tak prymitywne:

http://www.google.com/search?client=opera&...-8&oe=utf-8
Go to the top of the page
+Quote Post
marcio
post
Post #17





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

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


Cytat(Crozin @ 3.09.2010, 14:12:40 ) *
Szczerze... mnie się już nie chce po raz 2342346 wałkować wątku z "MVC" w nazwie - szczególnie, gdy pytanie jest tak prymitywne:

http://www.google.com/search?client=opera&...-8&oe=utf-8

@Crozin jak nie masz co napisac na temat nie pisz wcale, mi sie nie chce wysluchiwac twojego marudzenia.
Takiego watku na forum jeszcze nie bylo, wiec pisze

Z google'a korzystac potrafie

Ten post edytował marcio 3.09.2010, 13:54:00


--------------------
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

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 Aktualny czas: 19.08.2025 - 18:18