The model defines the data to be displayed or otherwise acted upon
in the user interface.
The view displays data from the model and routes user commands
(events) to the presenter to act upon that data.
The presenter retrieves data from the model and displays it in the
The implementation of MVP can vary as to how much presentation
logic is handled by the presenter and the view. In a web
application most presentation logic is usually in the view which
runs in the web browser.
MVP is one of the MV* variations of the MVC pattern.