MVC

Wzorzec projektowy opisujący podział aplikacji na trzy warstwy:

  • Model - dostarczanie danych
  • Widok - prezentacja danych
  • Kontroler - stan interfejsu użytkownika i modyfikacja stanu modelu

Podział taki pozwala zmniejszyć sprzężenia w aplikacji (w szczególności podmienić widok i kontroler). Podmiana widoku i kontrolera będzie mieć miejsce kiedy aplikacja ma działać na dwóch różnych technologiach np. klient-serwer i cienki klient. Podział na trzy warswty pozwala skorzystać z tego samego kodu modelu w obu technologiach.

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"