This article will present clear and succinct difference between two architecture presentation patterns i.e. MVP and MVC. Many developers are confused around what is the difference between these patterns.
Here are the key differences between the patterns:
- View is more loosely coupled to the model. The presenter is responsible for binding the model to the view.
- Easier to unit test because interaction with the view is through an interface
- Usually view to presenter map one to one. Complex views may have multi presenters.
- Controller are based on behaviors and can be shared across views
- Can be responsible for determining which view to display
On the web, there are many good read on this topic:
- What are MVP and MVC?
- MVP Documentation
- MSDN article about the Presentation Model
- MVC or MVP Pattern whats the difference?
- Interactive Application Architecture Patterns
- Comparison of Architecture presentation patterns
- Model View Presenter (MVP) VS Model View Controller (MVC)