<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Komentarze do: (V)iew, przygłupi kolega każdego MC</title>
	<atom:link href="http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/feed" rel="self" type="application/rss+xml" />
	<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc</link>
	<description>Internet od strony developera</description>
	<lastBuildDate>Tue, 24 May 2011 16:06:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Autor: MacDada</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-158</link>
		<dc:creator>MacDada</dc:creator>
		<pubDate>Thu, 29 Jul 2010 00:07:58 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-158</guid>
		<description>W sumie to co wyżej plus szczegóły pomysłu MVTC umieściłem na blogu:
http://chaotycznie.pl/programowanie/mvtc-czyli-moj-pomysl-na-wzorzec-projektowy/</description>
		<content:encoded><![CDATA[<p>W sumie to co wyżej plus szczegóły pomysłu MVTC umieściłem na blogu:<br />
<a href="http://chaotycznie.pl/programowanie/mvtc-czyli-moj-pomysl-na-wzorzec-projektowy/" rel="nofollow">http://chaotycznie.pl/programowanie/mvtc-czyli-moj-pomysl-na-wzorzec-projektowy/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: MacDada</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-157</link>
		<dc:creator>MacDada</dc:creator>
		<pubDate>Wed, 28 Jul 2010 22:48:51 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-157</guid>
		<description>Sam jak dotąd widziałem rolę Kontrolera jako właśnie takiego pośrednika między Modelem a Widokiem; czyli Kontroler rozpoznaje co ma się dziać, odpala odpowiedni model, pobiera i interpretuje dane z modelu, na podstawie tego odpala odpowiedni widok, do którego przekazuje dane.

Na forum.php.pl Zyx ujął MVC w inny sposób, który także prezentuje tutaj. Pod względem teoretycznym się z nim zgadzam. Wystarczy spojrzeć na diagram MVC na Wikipedii i wyraźnie widać, że Widok także może mieć bezpośredni dostęp do modelu.


Stąd doszedłem do wniosku, że w praktyce zamiast MVC lepiej zrobić MVTC, czyli Model View Template Controller. W ten sposób mamy Kontroler, który odpala model i odpowiedni widok, widok odpala sobie w razie potrzeby model, a na koniec zbiera to co chce do kupy i przekazuje do Szablonu. W ten sposób wilk syty i owca cała, tzn Graficy bawią się jedynie na Szablonie, a jednocześnie Widok nie jest tylko Szablonem, ale zawiera także logikę Widoku w postaci paginatora, itp.

Choć na razie to czysta teoria, bo takiego podejścia nie wypróbowałem i nie widziałem ;)</description>
		<content:encoded><![CDATA[<p>Sam jak dotąd widziałem rolę Kontrolera jako właśnie takiego pośrednika między Modelem a Widokiem; czyli Kontroler rozpoznaje co ma się dziać, odpala odpowiedni model, pobiera i interpretuje dane z modelu, na podstawie tego odpala odpowiedni widok, do którego przekazuje dane.</p>
<p>Na forum.php.pl Zyx ujął MVC w inny sposób, który także prezentuje tutaj. Pod względem teoretycznym się z nim zgadzam. Wystarczy spojrzeć na diagram MVC na Wikipedii i wyraźnie widać, że Widok także może mieć bezpośredni dostęp do modelu.</p>
<p>Stąd doszedłem do wniosku, że w praktyce zamiast MVC lepiej zrobić MVTC, czyli Model View Template Controller. W ten sposób mamy Kontroler, który odpala model i odpowiedni widok, widok odpala sobie w razie potrzeby model, a na koniec zbiera to co chce do kupy i przekazuje do Szablonu. W ten sposób wilk syty i owca cała, tzn Graficy bawią się jedynie na Szablonie, a jednocześnie Widok nie jest tylko Szablonem, ale zawiera także logikę Widoku w postaci paginatora, itp.</p>
<p>Choć na razie to czysta teoria, bo takiego podejścia nie wypróbowałem i nie widziałem ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: anen</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-142</link>
		<dc:creator>anen</dc:creator>
		<pubDate>Mon, 24 May 2010 21:37:55 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-142</guid>
		<description>Ja tam uważam , że poprostu był pijany :) Informatycy Warszawcy mają dobre głowy skoro u nich idzie na uczelni kupić PIWO i Vodke :)</description>
		<content:encoded><![CDATA[<p>Ja tam uważam , że poprostu był pijany :) Informatycy Warszawcy mają dobre głowy skoro u nich idzie na uczelni kupić PIWO i Vodke :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Damian Tylczyński</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-141</link>
		<dc:creator>Damian Tylczyński</dc:creator>
		<pubDate>Mon, 24 May 2010 21:06:25 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-141</guid>
		<description>@anen, Twój gość z Holandii poszedł trochę za daleko i próbuje porównywać paradygmaty porównując konkretne ich implementacje, nie same idee. Porównywał magię klasycznego ASP.NET w którym WebFormsy załatwiały za Ciebie niemal wszystko, a ASP.NET MVC w którym nie możesz być wykliko-sobie-mychą-programistą. A jest to związane tylko z implementacją tych dwóch frameworków, z trudnością obsługi. Nie uwarunkowaniem wzorców czy paradygmatów. ASP.NET też mógł wykorzystać wzorzec MVC, powiązanie zdarzeń z akcjami nie jest chyba jakimś wielkim problemem. Jednak Microsoft postanowił skopiować pierwszy lepszy framework istniejący już w sieci.</description>
		<content:encoded><![CDATA[<p>@anen, Twój gość z Holandii poszedł trochę za daleko i próbuje porównywać paradygmaty porównując konkretne ich implementacje, nie same idee. Porównywał magię klasycznego ASP.NET w którym WebFormsy załatwiały za Ciebie niemal wszystko, a ASP.NET MVC w którym nie możesz być wykliko-sobie-mychą-programistą. A jest to związane tylko z implementacją tych dwóch frameworków, z trudnością obsługi. Nie uwarunkowaniem wzorców czy paradygmatów. ASP.NET też mógł wykorzystać wzorzec MVC, powiązanie zdarzeń z akcjami nie jest chyba jakimś wielkim problemem. Jednak Microsoft postanowił skopiować pierwszy lepszy framework istniejący już w sieci.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: anen</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-140</link>
		<dc:creator>anen</dc:creator>
		<pubDate>Sun, 23 May 2010 22:08:22 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-140</guid>
		<description>Wógle sama idea trzymania się wzorca projektowego jest ciężka do pojęcia dla naszego mózgu :) Miałem przyjemność w lutym rozmawiać z gościem co tworzył ASP.NET MVC - koleś z holandi , od xx lat ma MVP ( tak wiem Microsoft - pojedzie po mnie ) ale to co on mi mówił - You have got Web Forms and MVC, normal person knows that where&#039;s action there&#039;s reaction but in MVC you get POST and GET (WTF).
Prawda jest taka , php czy asp.net czy cokolwiek innego - nie zawsze MVC załatwia sprawę , a co bardziej MVVM , czasami liczy dobry projekt - wzorzec jest jako pomoc - nie wymóg( no chyba że specyfikacja mówi inaczej )</description>
		<content:encoded><![CDATA[<p>Wógle sama idea trzymania się wzorca projektowego jest ciężka do pojęcia dla naszego mózgu :) Miałem przyjemność w lutym rozmawiać z gościem co tworzył ASP.NET MVC &#8211; koleś z holandi , od xx lat ma MVP ( tak wiem Microsoft &#8211; pojedzie po mnie ) ale to co on mi mówił &#8211; You have got Web Forms and MVC, normal person knows that where&#8217;s action there&#8217;s reaction but in MVC you get POST and GET (WTF).<br />
Prawda jest taka , php czy asp.net czy cokolwiek innego &#8211; nie zawsze MVC załatwia sprawę , a co bardziej MVVM , czasami liczy dobry projekt &#8211; wzorzec jest jako pomoc &#8211; nie wymóg( no chyba że specyfikacja mówi inaczej )</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: thek</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-136</link>
		<dc:creator>thek</dc:creator>
		<pubDate>Fri, 21 May 2010 08:57:03 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-136</guid>
		<description>A ja poprę i autora i Zyx&#039;a. Na forum php.pl także miałem post w dyskusji o wzorcu MVC i dla mnie powinien on dzialać jak dwukierunkowy trójkąt. Każdy z elementów powinien umieć się komunikować w pozostałymi. To, że we frameworkach wszystko idzie przez kontroler to pewien standard, który można jednak we własnych projektach sobie odpuścić. Jak dla mnie to o czym mówiono, czyli widok ma swój szablon jest dobrze widoczne we wszelkiego rodzaju stronach w sposób niejawny. To odwołania AJAXowe i ogólnie JS (jQuery m.inn.). Widok wyświetla pewien szablon, ale jego logiką kieruje JS. Odpowiada za choćby paginację czy tego typu elementy. Wtedy dzialanie wygląda tak:
1. Wyświetl szablon strony ( szablon widoku )
2. Pobierz domyślne ustawienia AJAX ( logika widoku )
3. Pobierz dane i zwróć je ( model )
4. Wypełnij szablon ( szablon widoku )
Wszelkie zmiany na stronie to tylko zmiana logiki ( ustawień parametrów domyślnych czy tymczasowych ) widoku. Można więc powiedzieć, że programiści implementują funkcjonalność Widok  Model ale na poziomie tworzenia kolejnego obiektu, którym jest obiekt AJAX, który też musi mieć swoje struktury wzorca MVC (M i C, bo tutaj akurat V jest zazwyczaj zbędny).</description>
		<content:encoded><![CDATA[<p>A ja poprę i autora i Zyx&#8217;a. Na forum php.pl także miałem post w dyskusji o wzorcu MVC i dla mnie powinien on dzialać jak dwukierunkowy trójkąt. Każdy z elementów powinien umieć się komunikować w pozostałymi. To, że we frameworkach wszystko idzie przez kontroler to pewien standard, który można jednak we własnych projektach sobie odpuścić. Jak dla mnie to o czym mówiono, czyli widok ma swój szablon jest dobrze widoczne we wszelkiego rodzaju stronach w sposób niejawny. To odwołania AJAXowe i ogólnie JS (jQuery m.inn.). Widok wyświetla pewien szablon, ale jego logiką kieruje JS. Odpowiada za choćby paginację czy tego typu elementy. Wtedy dzialanie wygląda tak:<br />
1. Wyświetl szablon strony ( szablon widoku )<br />
2. Pobierz domyślne ustawienia AJAX ( logika widoku )<br />
3. Pobierz dane i zwróć je ( model )<br />
4. Wypełnij szablon ( szablon widoku )<br />
Wszelkie zmiany na stronie to tylko zmiana logiki ( ustawień parametrów domyślnych czy tymczasowych ) widoku. Można więc powiedzieć, że programiści implementują funkcjonalność Widok  Model ale na poziomie tworzenia kolejnego obiektu, którym jest obiekt AJAX, który też musi mieć swoje struktury wzorca MVC (M i C, bo tutaj akurat V jest zazwyczaj zbędny).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: sokzzuka</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-121</link>
		<dc:creator>sokzzuka</dc:creator>
		<pubDate>Tue, 04 May 2010 06:58:17 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-121</guid>
		<description>Moim zdaniem front controller powinien na podstawie danych z requestu pobierać dane od modeli i wpychać je do odpowiedniego widoku, logika biznesowa powinna być w modelu.

Moim zdaniem widok raczej powinien dostawać dane niż prosić o nie...</description>
		<content:encoded><![CDATA[<p>Moim zdaniem front controller powinien na podstawie danych z requestu pobierać dane od modeli i wpychać je do odpowiedniego widoku, logika biznesowa powinna być w modelu.</p>
<p>Moim zdaniem widok raczej powinien dostawać dane niż prosić o nie&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: matipl</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-120</link>
		<dc:creator>matipl</dc:creator>
		<pubDate>Fri, 30 Apr 2010 10:12:14 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-120</guid>
		<description>@bigZbig: dokładnie, aby widok był widokiem, pobranie danych i cała obróbka musi mieć miejsce gdzieś indziej (kontrol, helper widoku etc).
Bo należy pamiętać, że widokami zajmują się frontendowcy, którzy potrafią usunąć wywołanie danej metody, a nie mówiąc co by było gdyby była tam większa logika.</description>
		<content:encoded><![CDATA[<p>@bigZbig: dokładnie, aby widok był widokiem, pobranie danych i cała obróbka musi mieć miejsce gdzieś indziej (kontrol, helper widoku etc).<br />
Bo należy pamiętać, że widokami zajmują się frontendowcy, którzy potrafią usunąć wywołanie danej metody, a nie mówiąc co by było gdyby była tam większa logika.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: bigZbig</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-118</link>
		<dc:creator>bigZbig</dc:creator>
		<pubDate>Thu, 29 Apr 2010 14:05:05 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-118</guid>
		<description>Mam takiego kolegę, który używa kontrolerów (w Kohana PHP Framework) tylko po to aby pobrać dane i wrzucić je do widoku - równie dobrze mógłby przekazać do widoku obiekt modelu i kazać webdevowi samemu pobrać sobie wymagane dane i dopowiednio je przekształcić. Tak czy inaczej gdzieś musi być miejsce na tzw. obróbkę danych. Kiedyś pracowałem w Urzędzie Miasta - tam to się nazywało sporem kompetencyjnym. Damian dodatkowo poruszył problem pt. &quot;kto się ma tym zająć&quot; - z tego co pamiętam to nazywaliśmy to spychologią.

No ok ale nie o to chyba chodzi Zyxowi czy Damianowi? Oni proponują odwrócenie flow. Z tego co zrozumiałem Zyxs proponuje aby frontend kontroler zamiast wywoływać kontroler &quot;lokalny&quot; który decydyje jakie dane pobrać i jakiemu widokowi je przekazać do wyświetlenia, wywoływał od razu widok (nazwijmy go świadomym), który pobierałby sobie niezbędne dane i w razie potrzeby użył dostępnych narzędzi do ich obróbki. Takim narzędziem byłby np. paginator, czy też komponent renderujący listę lub formularz. A ja się pytam czy taki widok byłby w takim razie dalej widokiem?

Wracając do mojego kolegi. Jemu też się nie chciało wstępnie preparować danych np. generować url-i, obliczać cen brutto itp. A potem i tak dostawał na twarz te zadania tyle, że robił je w widoku zamiast w kontrolerze bo webdev jest od przesuwania boksów od 2 piksele do góry lub na dół a nie od martwienia się o to czy zbudował w widoku działające urle i czy cena brutto wyliczana jest poprawnie.</description>
		<content:encoded><![CDATA[<p>Mam takiego kolegę, który używa kontrolerów (w Kohana PHP Framework) tylko po to aby pobrać dane i wrzucić je do widoku &#8211; równie dobrze mógłby przekazać do widoku obiekt modelu i kazać webdevowi samemu pobrać sobie wymagane dane i dopowiednio je przekształcić. Tak czy inaczej gdzieś musi być miejsce na tzw. obróbkę danych. Kiedyś pracowałem w Urzędzie Miasta &#8211; tam to się nazywało sporem kompetencyjnym. Damian dodatkowo poruszył problem pt. &#8220;kto się ma tym zająć&#8221; &#8211; z tego co pamiętam to nazywaliśmy to spychologią.</p>
<p>No ok ale nie o to chyba chodzi Zyxowi czy Damianowi? Oni proponują odwrócenie flow. Z tego co zrozumiałem Zyxs proponuje aby frontend kontroler zamiast wywoływać kontroler &#8220;lokalny&#8221; który decydyje jakie dane pobrać i jakiemu widokowi je przekazać do wyświetlenia, wywoływał od razu widok (nazwijmy go świadomym), który pobierałby sobie niezbędne dane i w razie potrzeby użył dostępnych narzędzi do ich obróbki. Takim narzędziem byłby np. paginator, czy też komponent renderujący listę lub formularz. A ja się pytam czy taki widok byłby w takim razie dalej widokiem?</p>
<p>Wracając do mojego kolegi. Jemu też się nie chciało wstępnie preparować danych np. generować url-i, obliczać cen brutto itp. A potem i tak dostawał na twarz te zadania tyle, że robił je w widoku zamiast w kontrolerze bo webdev jest od przesuwania boksów od 2 piksele do góry lub na dół a nie od martwienia się o to czy zbudował w widoku działające urle i czy cena brutto wyliczana jest poprawnie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Autor: Damian Tylczyński</title>
		<link>http://tylczynski.pl/php/view-przyglupi-kolega-kazdego-mc/comment-page-1#comment-117</link>
		<dc:creator>Damian Tylczyński</dc:creator>
		<pubDate>Tue, 27 Apr 2010 17:06:22 +0000</pubDate>
		<guid isPermaLink="false">http://tylczynski.pl/?p=288#comment-117</guid>
		<description>@matipl, i na tym EOT też jak najbardziej z mojej strony, bo rozmawiamy o 4 różnych światach. Albo 5 światach. 6 światach? No bo... ja wiem... ale nie powiem.</description>
		<content:encoded><![CDATA[<p>@matipl, i na tym EOT też jak najbardziej z mojej strony, bo rozmawiamy o 4 różnych światach. Albo 5 światach. 6 światach? No bo&#8230; ja wiem&#8230; ale nie powiem.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

