W podejściu MVC (Model–View–Controller) każda część ma inną odpowiedzialność. Elementem, który "steruje" aplikacją w sensie obsługi przepływu żądań i podejmowania decyzji, jest kontroler. To on typowo:
- przyjmuje żądanie użytkownika (np. wejście na adres URL lub wysłanie formularza),
- uruchamia odpowiednią logikę aplikacji, często współpracując z modelem,
- wybiera sposób odpowiedzi, np. zwraca konkretny widok albo dane.
Dlatego odpowiedź "kontroler." jest zgodna z ideą MVC: kontroler spina interakcję użytkownika z danymi i prezentacją.
Odpowiedź "widok." jest błędna, ponieważ widok służy głównie do prezentacji (renderowania) danych — odpowiada za to, co użytkownik zobaczy, ale nie powinien decydować o logice przepływu aplikacji ani o tym, jakie działania wykona system.
Odpowiedź "model." jest błędna, bo model koncentruje się na danych oraz regułach domenowych (np. walidacji, obliczeniach związanych z danymi). Model nie pełni roli "dyspozytora" żądań ani nie wybiera widoków; jest wykorzystywany przez kontroler (lub inne warstwy) jako źródło i logika danych.
Odpowiedź "wzorzec." jest błędna z innego powodu: wzorzec projektowy to idea/schemat organizacji kodu (np. MVC jako wzorzec architektoniczny), a nie konkretna część programu, która wykonuje się i steruje działaniem aplikacji.
Wskazówka egzaminacyjna: gdy pytanie dotyczy MVC i pada sformułowanie o "sterowaniu" lub "obsłudze żądań", najczęściej chodzi o komponent, który koordynuje pracę pozostałych elementów — czyli kontroler.