---
layout: pattern
title: Model-View-Presenter
folder: model-view-presenter
permalink: /patterns/model-view-presenter/
pumlid: ROlR3SGW3C1MkGu0-RzjKeXQJWcWFChwPO3xispvQBrmL0hbp-q-xGkWkFBL_8upZBICxjGzbo7GE1OwAlpmmLJ9sjNJH7VIRY1e6q169KvFevMcakrtI_BoD-HGoJE4Nm00
categories: Presentation Tier
tags:
 - Java
 - Difficulty-Intermediate
---

## Intent
Apply a "Separation of Concerns" principle in a way that allows
developers to build and test user interfaces.

![alt text](./etc/model-view-presenter_1.png "Model-View-Presenter")

## Applicability
Use the Model-View-Presenter in any of the following
situations

* when you want to improve the "Separation of Concerns" principle in presentation logic
* when a user interface development and testing is necessary.

## Real world examples

* [MVP4J](https://github.com/amineoualialami/mvp4j)
