Model View Presenter


  • Derivation of the Model View Controller Pattern
  • Presenter assumes functionality of the “middle-man”
  • All presentation logic is done by the presenter.
  • Intent is to 1) Enable separation of concerns in presentation logic and 2) Facilitate unit testing
File:Model View Presenter GUI Design Pattern.png
  • Model – an interface defining data to be displayed or otherwise acted upon in the user interface
  • View – a passive interface that displays data (the model) and routes user commands (events) to the presenter to act upon that data.
  • Presenter – acts upon the model and view. It retrieves data from repositories and formats it for display in the view