Model View Presenter (MVP) is a derivative of the model-view-controller software pattern, used mostly for building user interfaces.
In MVP pattern the presenter acts upon the model and the view
"Mvp offers greater seperation as your presenter have no knowledge of web centric concepts"
from question "ASP.NET MVP vs ASP.NET MVC"
"The use of a presenter is closer to mvp and gets away from the dependency injection model advocated by apple mvc"
from question "Passing information between controllers in a Swifty (/protocol) way?"
"Also this way mvp pattern becomes more testable as you can mock the view with fake object and test your presenter in unit tests"
from question "Interface and class in MVP"
"I have been searching on the net and i made a couple of examples of both of them but i m even more confused because in some sample web pages mvp uses more than 2 interfaces to communicate the presenter with the view layer some ones even have completely blank interfaces only declarated but in other ones it only takes two interfaces to transport data from presenter to view"
from question "Programming Pattern: MVC vs MVP"
"Since the flow of logic is still basically a loop but the api boundaries of the presenter is a cleaner boundary than view in mvp which helps decouple v and m in mvp than is possible in mvc"
from question "JavaFX: MVC naming conventions"