- JavaScript:Moving to ES2015
- Ved Antani Simon Timms Narayan Prusty
- 219字
- 2021-07-09 19:07:38
The Model-View-Presenter pattern
Model-View-Presenter is a variation of the original MVC pattern that we discussed previously. Both MVC and MVP target the separation of concerns but they are different on many fundamental aspects. The presenter in MVP has the necessary logic for the view. Any invocation from the view gets delegated to the presenter. The presenter also observes the model and updates the views when the model updates. Many authors take the view that because the presenter binds the model with views, it also performs the role of a traditional controller. There are various implementations of MVP and there are no frameworks that offer classical MVP out of the box. In implementations of MVP, the following are the primary differences that separate MVP from MVC:
- The view has no reference to the model
- The presenter has a reference to the model and is responsible for updating the view when the model changes
MVP is generally implemented in two flavors:
- Passive view: The view is as na?ve as possible and all the business logic is within the presenter. For example, a plain Handlebars template can be seen as a passive view.
- Supervising controller: Views mostly contain declarative logic. A presenter takes over when the simple declarative logic in the view is insufficient.
The following figure depicts MVP architecture:

- Implementing VMware Horizon 7(Second Edition)
- Spring 5.0 Microservices(Second Edition)
- 微信公眾平臺與小程序開發:從零搭建整套系統
- Java 開發從入門到精通(第2版)
- C#程序設計實訓指導書
- JMeter 性能測試實戰(第2版)
- Learning Python Design Patterns(Second Edition)
- Easy Web Development with WaveMaker
- Spring Boot進階:原理、實戰與面試題分析
- Node.js全程實例
- Python High Performance Programming
- Python爬蟲、數據分析與可視化:工具詳解與案例實戰
- Domain-Driven Design in PHP
- Mastering Embedded Linux Programming
- Laravel Design Patterns and Best Practices