MVC Design Pattern

Model, Widok, Kontroler. Architektoniczny wzorzec projektory rozdzielający strukturę aplikacji na trzy warstwy:
Model - warstwa logiki biznesowej programu i danych,
Widok - warstwa prezentacyjna i interfejs dla użytkownika,
Kontroler - warstwa sterująca, odpowiedzialna za obsługę żądań użytkownika.
Podział aplikacji na warstwy w znacznym stopniu ułatwia rozbudowę aplikacji poprzez jednoznaczne rozdzielenie programu na części, które nie są ze sobą ściśle związane i realizują swoje odrębne zadania. Taka aplikacja staje się bardziej przejrzysta, jest łatwiejsza przy rozbudowie i utrzymaniu oraz umożliwia prostszą konfigurację.
MVC jest wzorcem złożonym, który do swojej budowy wykorzystuje inne wzorce projektowe. Ponadto podział na warstwy jest dosyć abstrakcyjny i ich implementacja może być bardzo różna.