UMVCL6——MVX 之 MVP

MVP

全称为:模型(Model)—视图(View)—主持人(Presenter)
Model提供数据,View负责界面,Presenter负责逻辑的处理
它是MVC的一种变式,是针对MVC中M和V存在耦合的优化

MVP和MVC的对比

MVP与MVC有着一个重大的区别:

  • 在MVC中View会直接从Model中读取数据而不是通过Controller
  • 而在MVP中View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部。

如何理解MVC中V会从M中读取数据

很明显,Controller在这里只是起到了将Model层代码传入到View层方法的作用

image

​​image​​

MVP的作用

MVP中的Presenter(主持人)将完全断绝View和Model的来往,主要程序逻辑都在Presenter中实现
也因此,Presenter层就会相对“较重”,代码较多

image