All the above design patterns come in presentation pattern category and help to
remove any kind of cluttered code in UI like manipulation of user interfaces and
maintaining state. Thus keeping your UI code cleaner and better to maintain.
MVC pattern divides the architecture in to 3 part model, view and controller.
The first request comes to the controller and the controller then decides which
view to be displayed and ties up the model with the view accordingly.
MVP (Model view presenter) has the same goals as MVC i.e. separating the UI from
the model. It does the same by using a presenter class. The UI talks via an
interface to the presenter class and the presenter class talks with the model.
MVVM is an architectural pattern with the focus of removing UI cluttered
code. It does the same by using an extra class called as view model. MVVM is
mostly suitable for Silverlight and WPF projects because of the rich bindings
provided by the technologies.
Below is a nice MVC interview questions video created by
explains how to pass data from controller to views.