--- 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)