The MVP is a variation of the MVC pattern. The Presenter and Controller classes have similar roles in both patterns with one difference. In MVP, the View has no direct access to the Model. In MVC, both the View and the Controller have access to the Model. MVP essentially hides the model from the View.