Wzorce projektowe mogą przyspieszyć proces rozwoju oprogramowania przez dostarczenie wypróbowanych rozwiązań dla problemów, które mogą nie być oczywiste na początku procesu projektowego. Często zagadnienia te wiążą się z ewolucją oczekiwań względem projektowanego systemu: rozszerzeniem jego funkcjonalności, zmianą sposobu i formatu wprowadzanych danych czy dostosowaniem aplikacji do różnych klas użytkowników. Nieuwzględnienie ich na początku procesu rozwoju produktu programistycznego powoduje często konieczność gruntownego przebudowywania zaawansowanego lub gotowego już oprogramowania.

Wzorzec MVC MVC (od angielskich słów Model, View i Controller) opracowano pod koniec lat 70 jako wzorzec realizacji interfejsu użytkownika w języku Smalltalk-80. Następnie wykorzystano go również w innych językach i systemach zorientowanych obiektowo.

Trzy składowe tego modelu to: