Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pytanie o wzorzec MVP
coolos
post 21.01.2012, 11:43:56
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 15.04.2009

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


Witam,

Mam takie pytanie na temat wzorca MVP, konkretnie rozchodzi mi się o to czy ten wzorzec dopuszcza przesłanie przez prezenter przetworzonej instancji modelu do widoku? czy tylko dopuszcza przesłanie do widoku przez prezenter innych typów danych np. tablic?

wolałbym żeby widok wyglądał np. tak:
  1. class VIEW_NEWS {
  2.  
  3. public function list(MODEL_NEWS $news){
  4. //i teraz wyświetlić dane z przetworzonego modelu np.
  5. $string = "<h1>".$news->get("title")."</h1>"."<p>".$news->get("desc")."</p>";
  6. }
  7. }


niż tak:

  1. class VIEW_NEWS {
  2.  
  3. public function list($news){
  4. $string = "<h1>".$news["title"]."</h1>"."<p>".$news["desc"]."</p>";
  5. }
  6. }



Pozdrawiam

Ten post edytował coolos 21.01.2012, 11:45:21
Go to the top of the page
+Quote Post
marcio
post 21.01.2012, 16:26:29
Post #2





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

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


O ile sie nie myle to to o czym ty mowisz to jest wlasnie MVC a mvp polega wlasnie na tym by warstwa prezentera(czyli tak jakby widoku) pobierala dane od kontrolera, a mvc mowi ze to widok ma sam sobie pobrac dane za pomoca modelu.


--------------------
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
Noidea
post 21.01.2012, 19:10:21
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

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


Różnica w interakcji pomiędzy widokiem a modelem we wzorcach MVP i MVC jest taka, że w MVC widok pobiera potrzebne dane z modelu, a w MVP prezenter pobiera te dane z modelu i ustawia je widokowi. (Dochodzą do tego jeszcze odmiany tych wzorców, np. z lub bez pasywnego widoku, ale najbardziej ogólne rozróżnienie jest właśnie takie)

Oczywiście jeśli wygodniej jest ci te dane przesyłać jako obiekt, zamiast skomplikowanej tablicy, to możesz tak robić. To o co pytasz nazywa się Data Transfer Object (DTO)
http://stackoverflow.com/questions/1051182...transfer-object

Ten post edytował Noidea 21.01.2012, 19:12:45


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:41