Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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...?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
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
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.
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 (IMG:style_emoticons/default/snitch.gif)
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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.
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. (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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...?
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/snitch.gif)

TO jak dyskusja sie juz skonczyla, myslalem ze wyniosy z niej cos nowego,a tu nic!
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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 02:10