Wzorzec MVC jest wzorcem wytwarzania oprogramowania. Skrót MVC pochodzi od trzech słów:

  • Model (Model)
  • Widok (View)
  • Kontroler (Controller)

Wzorzec MVC (Model View Controller)

Model

W Modelu, są przechowywane dane na jakich aplikacja pracuje. Mogą to być obiekty, na bazie których zbudowana będzie strona oferująca na przedaż wiele pogrupowanych produktów. Jako przykład weźmy komis samochodowy. W tym przypadku w modelu może być obiekt JSON, we wnętrzu którego znajduje się lista marek samochodów dostępnych w komisie. Oprócz danych w Modelu może znajdować się również logika, jednak musi być ona bezpośrednio związana z danymi. Kod typu obsługa zdarzeń czy elementy widoku nie ma prawa znaleźć się w tym miejscu. Model nie wie nic na temat Widoku ani Kontrolera, jest on zupełnie niezależny.

Widok (View)

Widok odpowiada za prezentację danych użytkownikowi. To tutaj pojawią się szablony HTML, CSS i JavaScript. Jednak JavaScript w Widoku jest znacznie ograniczony. Przykładowo obsługa reakcji użytkownika nie ma prawa się tutaj znaleźć. Ponieważ Model jest niezależny od Widoku może istnieć wiele Widoków w aplikacji. Do wyświelenia tych samych danych można użyć osobnych widoków dla: tableta, smartfona oraz desktopa.Założeniem modelu MVC jest wyraźne rozdzielenie tych trzech warst od siebie co umożliwi uzyskanie dużo bardziej czytelnego kodu oraz znacznie ułatwi jego testowanie.

Kontroler (Controller)

Kontroler zajmuje się zdarzeniami m.in. czeka na wykonanie zdarzeń przez użytkownika i łączy Model oraz Widok. Przykładowo na wspomnianej stronie komisu kontroler pobierze od użytkownika zapytanie o konkretny model samochodu, następnie przetworzy je z zastosowaniem Modelu, żeby ostatecznie z wykorzystaniem Widoku zaprezentować użytkownikowi efekt czyli wyświetlić szukany samochód.