Archiv pro 5. June 2009

Jaká byla diskuse o MVC?

Ve středu 3. června 2009 jsem se zúčastnil akce s názvem asp.net MVC Best practices. Akce se konala na půdě Microsoftu v BB centru a bylo na ní pozváno dost známých jmen z oboru. To slibovalo kvalitní diskusi.

Několik účastníků už napsalo svoje shrnutí na blog:

Trošku obdivuju jakou mají paměť. Moje shrnutí bude o hodně stručnější.

Na začátku organizátor Jarda Jirava promluvil o důvodech pro konání setkání a vytvořil hello world aplikaci v asp.Net MVC. Následovalo představení reallife aplikace od Aleše Roubíčka.

Dá se říct, že mě na asp.Net MVC nic nepřekvapilo. Použité standardy v názvosloví například jsou téměř totožné se Zend Frameworkem a dalšími rozšířenými MVC frameworky. Pěkná je podpora asp.Net MVC ve Visual Studiu.

Pak následovala diskuse, kde jsme se pokusili vysvětlit pojem MVC jeho chápání. Mluvilo se o odpovědnostech jednotlivých částí MVC architektury. Padla řeč na Open Session In View Pattern.

Zajímavé bylo porovnání nejrůznějších programátorských světů – pokud si dobře pamatuju bylo zastoupeno asp.Net, PHP, Java, Ruby a Django.

O Djangu mluvil Honza Král. Mluvil o MVT patternu frameworku a jeho výhodách. Bavil se konkrétním CMS postaveným nad Djangem a jeho použití. Prozradil, že mají 1 jádro, na kterém běží 9 různých webů. Liší se pouze konfigurace. Tady podle mého Honza trochu zaměnil téma diskuse. Nelze porovnávat obecný MVC pattern s určitým CMS postaveným na djangu.

Cenné komentáře měl „Karel Minařík“. Mluvil o MVC patternu v Ruby on Rails. Zejména o častých chybách začátečníků, kdy dávají byznys logiku do controlleru.

David Grudl poznamenal, že v MVC frameworku má to C (controller) spíše roli presenteru – objektu, který předává data view. Další pěkná myšlenka od něj – Kód je pěkný, když je toho na všech vrstvách tak akorát. Nic nejde vyhodit. A když další refaktoring už nevede k zlepšení čitelnosti kódu.

Já bych dodal, že žádný MVC framework si vlastně s pouhým MVC patternem nevystačí. Když se nějaký framework ohání zkratkou MVC znamená to vlastně jenom ten fakt, že je tento návrhových vzor, jako jeden z mnoha, při návrhu použit. Když vezmeme takový Zend Framework, tak tam se to návrhovými vzory hemží na každém kroku. Velmi stručně – při vyřizování requestu zafunguje Front controller design pattern, který vybere správný action controller (v Davidově terminologii presenter) – a tam najdeme onen MVC pattern. Na lifecycle requestu máme navázány další akce, na které je možno přidat vlastní listenery (další desing pattern) – jedná se o routing a dispatching. Ve view vrstvě jsou to pak View Helpery.

Omlouvám se za sklouznutí jinam – jenom jsem chtěl ukázat, že osamocený MVC není v reálném světě jediný bojovník v poli a vždy součástí celé rodiny použitých patternů.

Líbily se mi obchodnické dotazy Michala Bláhy. Například položil dotaz – Mám firmu s 10ti špičkovými .Net Forms programátory. Proč bych měl migrovat na asp.Net. Moje odpověď byla – nemigrovat. Pokud mám práci pro mých 10 zaběhutých programátorů nic neměnit.

Také padla otázka Typ webových projektů, pro které se MVC hodí a pro které nikoliv. Moje odpověď byla, že se MVC frameworky hodí pro implementaci naprosto každého typu webové aplikace. Z mého pohledu neexistují důvody pro to proč nedělat např. v MVC frameworku sociální sít a naopak firemní stránky ano.

Hodně se také mluvilo o testování (domluvilo se, že se někdy v budoucnu uskuteční setkání, jehož předmětem bude testování).

Závěr

Pro mě bylo setkání určitě přínosné. A neváhal bych jít na podobné setkání znovu.

Celý článek 5 komentářů 5. June 2009


Kalendář

June 2009
M T W T F S S
« May   Aug »
1234567
891011121314
15161718192021
22232425262728
2930  

Články podle měsíců

Kategorie

Locations of visitors to this page