![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ciągle zastanawiam się, czy dobrze interpretuję zasadę MVC. Chciałem napisać coś takiego: KONTROLLER: Index.Controller.php: Pobiera $_GET['view'] i zwraca $this -> setView():
Następnie MODEL pobiera dane z mysql z danego projektu i zwraca:
W ostateczności Widok pobiera wszystko i generuje HTML:
Męczy mnie także pytanie, jak to wszystko połączyć, zeby działało? Chodzi o większą ilość widoków, lub modeli. Proszę mnie nie odsyłać do artykułów, bo z nich nic się (niestety) nie można dowiedzieć. Pozdrawiam, Matix: ) Ten post edytował matix 25.05.2007, 22:03:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak jak pisałem, model to dane i operacje na nich. Skoro akcje zawierają operacje na danych, to zawierają się w modelu. Model jako obiekt nie powinien według mnie istnieć. Po prostu nie lubię pojęcia model, bo do niego zalicza się wszystko... Weźmy za przykład sklep internetowy.
Do modelu zaliczymy dane dotyczące produktów, działów, klienta oraz wszystkie operacje związane z nimi. Jeżeli klient kupuje książkę, to do modelu musimy wliczyć wszystkie operacje dotyczące produktu, zamówienia i użytkownika. Akcje odpowiadałyby za kolejne zadania: utworzenie zamówienia, związania zamówienia z użytkownikiem, dopisania produktu do list itd... Cytat Może kontrolować sposób wyświetlania (np. może decydować o wyświetlaniu dokumentu w formie zwykłego XML, wysłać do przeglądarki stronę www, a nawet wysłać "goły" tekst - decyduje o tym żądanie, a nie model, czy widok). Żądanie jest elementem widoku, bo widok jest warstwą prezentacji. Z kolei warstwa prezentacji odpowiada za interakcję z użytkownikiem, a jest nią bez wątpienia wysłanie żądania w dowolnej formie. W aplikacjach okienkowych żądaniem jest np. naciśnięcie przycisku. W aplikacjach sieciowych tę rolę pełnią żądania, w szczególności HTTP. Racja leży po środku, bo obie warstwy są w to zaangażowane. Tak czy inaczej, wszystkie te działania prowadzą do ustanowienia komunikacji pomiędzy modelem a widokiem. Wszystko w końcu musi się trzymać kupy... Na schemacie widać to doskonale: http://java.sun.com/blueprints/patterns/im...ure-generic.gif |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 18:41 |