Model Model jest aktywną reprezentacją pewnego fragmentu komputerowej reprezentacji problemu. W danej aplikacji może istnieć kilka modeli tego samego elementu. Model jest samodzielny – do poprawnej pracy nie wymaga obecności dwóch pozostałych części, dlatego komunikacja z nimi musi zachodzić w sposób niejawny. Wyróżniane są dwa podstawowe rodzaje modeli:

pasywny model, aktywny model.

We współczesnych aplikacjach modele mają postać klas udostępniających pewien interfejs programistyczny do manipulacji strukturami danych oraz wykonywania pewnych akcji.

Pasywny model Model pasywny reprezentuje elementy, które nigdy samoczynnie nie zmieniają swojego stanu. Żądanie zmiany stanu i wykonania jakichś operacji pochodzi zawsze z kontrolera oraz z widoku za pośrednictwem udostępnionego API, zatem nie ma potrzeby, by model musiał samodzielnie komunikować się z nimi. Przykładem może być model tekstu w edytorze. Wpisany tekst może ulec zmianie wyłącznie na żądanie kontrolera, który odebrał sygnał o naciśnięciu litery na klawiaturze. Kontroler sam powiadomi widok, że główne pole edytora musi być odświeżone.