The Model-View-Presenter (MVP) architectural pattern that enforces the separation of concerns in presentation logic. This pattern is a derivation of the Model–View–Controller (MVC) architectural pattern.

Similar to the Model View Controller (MVC), the MVP model has a 'middle man' (the Presenter) that separates the domain model from the view by handling all presentation logic. In this pattern, the view and the model are unaware of each other and work only through the presenter, which contains the presentation logic.

Related architectural patterns:

  • the classic Model View Controller
  • Model View ViewModel