INF.04Aplikacje Webowe (Frontend & Backend)
Wzorzec MVC (Model-View-Controller)
Wzorzec architektoniczny dzielący aplikację na trzy niezależne warstwy: Model (dane i logika biznesowa), Widok (interfejs użytkownika) oraz Kontroler (obsługa żądań i sterowanie).
Warstwy wzorca MVC
MVC (Model-View-Controller) to fundamentalny wzorzec architektoniczny stosowany w aplikacjach webowych (ASP.NET Core MVC, Symfony, Laravel, Django, Spring Boot) oraz desktopowych.
KOD
Żądanie HTTP
Użytkownik -----------> [ KONTROLER (Controller) ]
| ^
Modyfikuje / Pobiera
Pobiera dane dane
v |
[ MODEL (Model) ] -----+
|
Przekazuje dane
v
[ WIDOK (View) ]
|
Odpowiedź HTML
v
UżytkownikOdpowiedzialności poszczególnych modułów:
- Model:
- Przechowuje stan aplikacji, reguły walidacji oraz logikę biznesową.
- Odpowiada za pobieranie i zapisywanie danych w bazie danych (np. za pomocą ORM / Entity Framework / Doctrine).
- Nie wie nic o widoku ani o protokole HTTP.
- Widok (View):
- Odpowiada wyłącznie za prezentację danych użytkownikowi (generowanie HTML, JSON, XML lub interfejsu graficznego).
- Wykorzystuje silniki szablonów (np. Razor w ASP.NET, Twig w Symfony, Blade w Laravelu).
- Kontroler (Controller):
- Odbiera żądania użytkownika (np. żądania HTTP GET/POST).
- Wywołuje odpowiednie metody w Modelu, a następnie wybiera i zasila Widok danymi wynikowymi.
Pułapki na egzaminie INF.04:
- Separation of Concerns: Widok nie powinien bezpośrednio łączyć się z bazą danych ani przetwarzać logiki biznesowej; cała komunikacja przechodzi przez Kontroler i Model.
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Wzorzec MVC (Model-View-Controller) lub rozpocznij trening.