Zacznijmy od rozszyfrowania nazwy: skrót MVC pochodzi od słów Model - Widok - Sterownik (ang. Model - View - Controller). MVC zdobywa coraz większą popularność i przedstawiany jest jako dobra architektura aplikacji internetowej. W tym artykule mam nadzieję wyjaśnić, na czym polega MVC i dlaczego warto się tym bliżej zainteresować.
MVC jest zorientowanym obiektowo wzorcem projektowym. Aplikacja napisana zgodnie z MVC zawiera klasy implementujące logikę biznesową (jak i gdzie dane są przechowywane, kto ma do nich dostęp, jak dane są przetwarzane) w "modelach", logikę prezentacyjną (jak dane pochodzące z modeli mają zostać wyświetlone) w "widokach", a logika sterująca całą aplikacją zawarta jest w "kontrolerze".
MVC nie jest pomysłem nowym. Wymyślony został w laboratoriach PARC (Palo Alto Research Centre) firmy Xerox (tych samych, którym zawdzięczamy m. in. myszki i systemy okienkowe) już w latach siedemdziesiątych. Wtedy oczywiście nikt nawet nie myślał o wykorzystaniu wzorca do aplikacji internetowych. MVC został wykorzystany do zaprojektowania interfejsu użytkownika w języku Smalltalk, stworzonym zresztą również przez PARC. To, co nas jednak interesuje, to zastosowanie MVC w aplikacjach internetowych. Tego kroku dokonał Sun na potrzeby Javy.
Java pełni tutaj rolę szczególną również dlatego, że najbardziej znana implementacja MVC powstała właśnie dla Javy. Tym projektem jest Struts, stworzony przez Apache Jakarta Project. Struts nie jest jedyną słuszną implementacją MVC, ale na pewno najbardziej popularną i w pewnym sensie referencyjną.
W rozważaniach nad MVC przewijają się również pojęcia Model 1 i Model 2. Pochodzą one ze specyfikacji JSP i J2EE. Model 1 był podejściem, w którym logika biznesowa była umieszczona w modelu, ale widok rozrzucony był po poszczególnych stronach, bez centralnego kontrolera. Model 2 natomiast jest w zasadzie tym samym co MVC, dlatego w kontekście aplikacji internetowych te dwa pojęcia mogą być używane zamiennie.
...za lapatologiczne przyklady :)
Super art. Przybliża zagadnienie najbardziej możliwie
Napiszę krótko. Bardzo dobry, przejrzysty, w prosty sposób napisany artykuł.