Differences between MVC and MVP


architecture TIL

MVC (Model-view-presenter) is a derivation of the MVC (Model-view-controller). MVP is engineered to make unit testing easier.

The presenter has somewhat different responsibilities than the controller. In MVP, user inputs are delegated to the presenter via its view, while in MVC, the controller directly takes input from users. The presenter also formats model data and set the data to view.

The presenter acts as the middle-man between the view and model. Thus the model and view are not directly related to each other. Although the presenter communicates with the view, it only knows the interface of the view and thus they are decoupled. It makes unit testing easy.

See Also