KWALIFIKACJA PGF4 - WRZESIEŃ 2015

PYTANIE NR 36.
Najważniejszą częścią kodu, która steruje aplikacją internetową jest
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Kontroler w architekturze MVC odpowiada za sterowanie przepływem: odbiera żądania (np. HTTP), wywołuje logikę aplikacji i decyduje, jaki widok zwrócić. Widok prezentuje dane, model opisuje dane i reguły, a wzorzec to ogólna koncepcja projektowa, nie element wykonawczy aplikacji.

Pełne wyjaśnienie:

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.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kontroler w MVC to warstwa pośrednicząca między użytkownikiem a aplikacją: odbiera żądania, uruchamia logikę (często z użyciem modelu) i wybiera sposób odpowiedzi, np. jaki widok zwrócić albo jakie dane odesłać.
Bo to on koordynuje przepływ: mapuje żądanie (np. URL) na akcję, decyduje, jakie operacje wykonać i jaki rezultat zwrócić. Widok tylko prezentuje, a model opisuje dane i reguły — nie "dyrygują" ruchem żądań.
Widok odpowiada za prezentację danych (renderowanie HTML lub innego formatu). Nie powinien zawierać złożonej logiki biznesowej ani podejmować decyzji o tym, jakie operacje wykonać — to rola kontrolera i modelu.
Model reprezentuje dane oraz reguły domenowe (np. walidacje, zależności, obliczenia związane z danymi). Jest wykorzystywany przez kontroler do pobierania i modyfikacji informacji, które potem mogą być pokazane w widoku.
Nie wprost. Wzorzec projektowy to opis rozwiązania (schemat organizacji kodu), np. MVC. Konkretne elementy sterujące to klasy/moduły w projekcie, np. kontrolery, serwisy czy router — zależnie od architektury.
Jeśli w treści pojawiają się słowa "model", "widok", "kontroler", zwykle chodzi o MVC. W nowocześniejszych podejściach częściej mówi się o komponentach, endpointach, usługach i warstwach API — wtedy "kontroler" nie zawsze jest centralny.
Typowe pomyłki to wybór "modelu", bo kojarzy się z "najważniejszymi danymi", albo "widoku", bo to część widoczna dla użytkownika. W MVC jednak sterowanie przepływem żądań i decyzja o odpowiedzi należą do kontrolera.
Gdy trzeba dodać nową akcję (np. obsłużyć nowy URL), zmienić sposób obsługi formularza, dodać walidację na poziomie przepływu albo zmienić to, jaki widok/dane są zwracane po wykonaniu operacji.
Najczęściej: odbiór danych wejściowych, walidacja na poziomie żądania, wywołanie logiki (np. model/serwis), obsługa błędów, przekierowania oraz wybór odpowiedzi (widok, JSON, plik). Zakres zależy od frameworka.
Warto umieć nazwać role modelu, widoku i kontrolera oraz podać po 1–2 przykłady z praktyki (formularz, lista danych, szczegóły rekordu). Pomaga też prześledzenie prostego przepływu: żądanie → kontroler → model → widok.
info

Około 57% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "Kontroler w architekturze MVC odpowiada za sterowanie przepływem: odbiera żądania (np. HTTP), wywołuje logikę aplikacji i decyduje, jaki widok zwrócić."

Źródła:

  • Wikipedia: "Model–view–controller" — https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller (dostęp: 2026-03-01)
  • Microsoft Learn: "Controllers in ASP.NET Core MVC" — https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/ (dostęp: 2026-03-01)
  • Ruby on Rails Guides: "Action Controller Overview" — https://guides.rubyonrails.org/action_controller_overview.html (dostęp: 2026-03-01)

Materiały:

  • Dokumentacje frameworków webowych opisujące MVC (np. ASP.NET MVC, Ruby on Rails)
  • Hasła encyklopedyczne i opracowania o wzorcu Model–View–Controller
  • Kursy podstaw aplikacji internetowych i wzorców architektonicznych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego