MVC - Controller jest naszym głównym elementem, trzyma w sobie/tworzy modele oraz widoki i je kontroluje
MVP - Wzorzec często wykorzystywany w Windows Forms. Tutaj widok jest naszym rootem i to on trzyma w sobie Presentera i wywołuje z niego odpowiednie metody w odpowiednich eventach. Prezenter natomiast ma w sobie modele.
MVVM - Wzorzec wykorzystywany w WPF. Tutaj wykorzystuje się tzw. binding. WIdok na bieżąco aktualizuje swój stan do View Modelu. View Model trzyma reprezentację widoku, zmiana jakiejś wartości w nim skutkuje zmianą widoku. VM trzyma w sobie także Model i wszystko kontroluje.
Ogólnie celem tych wszystkich rozwiązań jest większa modułowość. Odseparowanie od siebie modeli, widoków i kontrolerów. Np. można mieć ten sam ViewModel dla kilku różnych widoków.