Lubos Pavlicek (Út, 2009-03-24 23:48):

V knize od GoF „Design Patterns: Elements of Reusable Object-Oriented Software“ se pod pojmem MVC má na mysli „The MVC triad of classes is used to build user interfaces in Smalltalk-80“. Dnes by se řeklo, že MVC je framework pro tvorbu GUI ve Smalltalku. A autoři se snaží hledat vzory použité v tomto frameworku.

Fowler v knize „Patterns of Enterprise Application Architecture“ již považuje MVC za vzor: „Model View Controller (MVC) is one of the most quoted (and most misquoted) patterns around“. Ale popisuje ho ne jako vzor, ale jako princip, který zdůrazňuje „separating the presentation from the model and separating the controller from the view“. A dále uvádí, že pro první oddělení se obvykle používá vzor Observer. Druhé oddělení se používá výjimečně (a např. ani ve frameworku MVC pro Smalltalk odděleno nebylo) a pokud se implementuje, tak se používá vzor Strategy.

Knihu Head First Design Pattern nemám po ruce, ale pokud si pamatuji, tak MVC je v této knize označeno jako „vzor vzorů“ a ne jako klasický návrhový vzor.

Z výchovného hlediska je chyba označit MVC za vzor. Mnohem vhodnější je MVC věnovat maximálně 5 minut a většinu času věnovat vzorům jako je Observer či Strategy. A kontrolovat, zda tyto vzory naprogramují správně. Pokud někdo prohlásí, že používá/programuje vzor MVC, tak nejlépe ho vytahat za uši.

Odpovědět
Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
Více informací o možnostech formátování