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.

> Wzorce architektoniczne
Spawnm
post 11.10.2010, 17:06:49
Post #1





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




Witam,
jako że nie od dziś można zaobserwować rozsiane po blogach i forum (forach?) posty dotyczące MVC czy MVP
proponuję rozmowę na temat wzorców architektonicznych w php.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post 10.12.2010, 20:47:50
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Kilka tygodni temu jako podsumowanie tej dyskusji postanowiłem zebrać wiadomości nt MVC do kupy w postaci artykułu Wikipedii z odpowiednimi przypisami.

http://pl.wikipedia.org/wiki/Model-View-Controller

Artykuł jest nieźle uźródłowiony i podaje definicję tego wzorca zgodnie z pierwszą pracą go opisującą datowaną na 1979 rok, a także późniejszymi klasykami takimi, jak "Wzorce projektowe: Elementy oprogramowania obiektowego wielokrotnego użytku". Dodatkowo znalazłem świetny katalog opisujący wzorce architektoniczne rozwijany przez pana Martina Fowlera, gdzie jest sporo na ten temat. Jest też m.in. oryginalna praca wprowadzająca Model-View-Presenter.

Kwestia tego, że oryginalnie wzorzec był zdefiniowany dla aplikacji desktopowych wiele tu nie zmienia, bo są to de facto dalej te same założenia, tylko uwzględniające specyfikę środowiska web i niekolidujące z oryginałem (w sensie: jak robimy aplikację WWW, musimy z konieczności korzystać z wariantów dla aplikacji WWW). Jednak z tych wszystkich materiałów dość jasno wynika, że w świecie frameworków WWW coś takiego, jak MVC zasadniczo nie istnieje. Zawsze są to jakieś pochodne oryginału... tyle że mają one swoje własne nazwy i w żadnym wypadku nie są MVC. Dominują:

- Model-View-Presenter - uproszczenie modelu i widoku na rzecz warstwy prezentera.
- Model-View-Presenter z Pasywnym Widokiem - jw. + zerwanie połączenia między modelem, a widokiem.

Jedna Kohana coś tam niby kombinuje, ale co - nie wiadomo, bo autorzy dalej lecą sobie w kulki z dokumentacją. Ponadto w przypadku hierarchicznych odmian jeszcze się tak do końca nie dokopałem do oryginalnych źródeł.

Dodatkowo, w ramach eksperymentu rozwijam na Githubie framework mający implementować założenia MVC (tego prawdziwego): https://github.com/zyxist/Trinity/tree/lightweight - i generalnie pisze się w nim zupełnie inaczej, niż w popularnych frameworkach, co moim zdaniem dość dobrze świadczy, gdzie są frameworki, a gdzie MVC.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post

Posty w temacie
- Spawnm   Wzorce architektoniczne   11.10.2010, 17:06:49
- - destroyerr   Wszystkie wzorce mają być w jednym temacie? Jeśli ...   11.10.2010, 17:23:58
- - Spawnm   Temat jest poświęcony wszystkim wzorcom architekto...   11.10.2010, 17:29:07
- - Crozin   Może i lekko flameogennie, ale... Żadnego z wymie...   12.10.2010, 12:52:35
- - marcio   Podobnie nowszy asp.net nazywa sie jakos asp mvc c...   12.10.2010, 12:59:14
- - Theqos   Najlepszym wzorcem jest nieużywanie wzorców dla sa...   12.10.2010, 13:45:13
- - Spawnm   @Crozin - skoro w php nie da się zaimplementować m...   12.10.2010, 19:35:08
- - sniver   a co to jest? Kontroler steruje aplikacją i wywołu...   12.10.2010, 20:13:28
- - marcio   @sniver to o czym mowisz to "hmvp/hmvc" ...   12.10.2010, 22:04:50
- - Crozin   CytatPodobnie nowszy asp.net nazywa sie jakos asp ...   13.10.2010, 08:42:33
- - FanFataL   @Crozin nie bardzo się mogę z Tobą zgodzić. Równi...   13.10.2010, 09:50:04
- - Crozin   @FanFataL: Łady rysunek, ale brakuje mi w nim jedn...   13.10.2010, 13:19:40
- - Spawnm   Co do schematu od FanFataL to rzeczywiście razi br...   13.10.2010, 14:05:15
- - sniver   ajax, ajaksem...z definicji jest to połączenie apl...   13.10.2010, 15:03:11
- - Crozin   CytatZobacz jak działają modele typu pagerSzczerze...   13.10.2010, 15:05:30
- - FanFataL   Cytat(Crozin @ 13.10.2010, 12:19:40 )...   13.10.2010, 15:19:11
- - sniver   @FanFataL: Co to znaczy EOT?   13.10.2010, 15:30:31
- - Crozin   CytatInność polega tylko (albo aż) na miejscu wyko...   13.10.2010, 15:48:11
- - marcio   @sniver http://pl.wiktionary.org/wiki/EOT Co do t...   13.10.2010, 15:57:37
- - destroyerr   @Crozin symfony jednak ma widok w Twoim rozumieniu...   13.10.2010, 16:07:17
- - Zyx   Kilka tygodni temu jako podsumowanie tej dyskusji ...   10.12.2010, 20:47:50
- - cojack   Cytat(tego prawdziwego):[   3.01.2011, 20:35:54
- - phpowiec84   Witam Jakis czas temu wykonałem framwork którym d...   3.01.2011, 20:54:25
- - thek   Cojack... Nie bądźmy złośliwi Czysty MVC jest nie...   3.01.2011, 21:26:11
- - Zyx   phpowiec84 -> fajne te zaokrąglone ramki. Niezł...   3.01.2011, 22:34:02
- - cojack   thek no ale tego Cytat(tego prawdziwego) nie rozum...   3.01.2011, 23:05:56
- - thek   Najprawdopodobniej moje rozumienie wzorca MVC jest...   4.01.2011, 12:19:22
- - Cysiaczek   Wy nadal to samo... Pisanie czegokolwiek po to ty...   4.01.2011, 13:26:29
- - wookieb   CytatPisanie czegokolwiek po to tylko, aby impleme...   4.01.2011, 14:10:52
- - thek   A prawda jak zwykle pośrodku Cysiaczek ma rację c...   4.01.2011, 15:00:08
- - wookieb   Cytat(thek @ 4.01.2011, 15:00:08 ) Ni...   4.01.2011, 15:21:18
- - thek   Z komputerem i prockiem to trochę zły przykład Ko...   4.01.2011, 16:10:47
- - wookieb   No i właśnie to co ty teraz zrobiłeś jest popadani...   4.01.2011, 16:15:36
- - thek   To co wskazałem to oczywiście przesada jak sam zau...   5.01.2011, 00:38:33
- - Cysiaczek   Nie miałem zamiaru uderzać w system nazewnictwa. P...   7.01.2011, 18:27:48
- - Crozin   @Cysiaczek: Głupoty piszesz. Mówiąc "MVC...   7.01.2011, 19:50:20
- - Cysiaczek   @Crozin, Pokaż mi konkretny i absolutnie właściwy ...   7.01.2011, 20:45:38
- - Crozin   Chyba tutaj chciałeś podlinkować: http://pl.wikipe...   7.01.2011, 23:08:07
- - Cysiaczek   Link dałem dokładnie taki jaki chciałem. Tak, masz...   8.01.2011, 20:20:53
- - thek   Czy ja wiem... Jak dla mnie to podane dwa przykład...   8.01.2011, 21:34:59
- - Cysiaczek   IMHO różnica jest dość ostra, w drugim przypadku m...   8.01.2011, 23:00:00
- - thek   Jak dla me różnica jest tylko taka, że w 1 przypad...   8.01.2011, 23:27:31
- - Crozin   Niektórzy zapomnieli, że w MVC warstwa widoku to n...   9.01.2011, 14:50:19
- - quality   @Crozin piszesz ze MVC nie jest stworzone do HTTP,...   18.02.2011, 15:48:32
- - baldRASCAL1986   Nie mogę zrozumieć jednej rzeczy... Po co ciągle w...   18.04.2011, 13:06:40
- - marcio   dyskusja umarla smiercia naturalna....   5.05.2011, 13:55:46
- - Sagnitor   A jakby tak spojrzeć na to z innej strony. Czy jes...   5.07.2011, 15:16:04
- - LSM   Dorzucę swoje trzy grosze. Ciekawym jest fakt, że ...   25.09.2011, 23:11:07
- - Crozin   @LSM: To co pokazałeś to jedynie podział aplikacji...   25.09.2011, 23:18:32
- - LSM   Widok opisuje, jak wyświetlić pewną część modelu w...   25.09.2011, 23:25:27


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: 5.06.2024 - 08:58