总结了MVC框架模式后,现在来总结下MVP 框架模式。
为了更细分视图(View)与模型(Model)的功能,让View更加专注于处理数据的可视化以及用户的交互,同时让Model只负责数据的处理,也就有了基于MVC概念的MVP(Model-View-Presenter)模式。
上图是理解MVP框架模式的最好图例了。
现在根据上图简单介绍下几个元素:
View:
主要负责绘制UI元素、与用户进行交互, Activity 处于MVP框架模式的V层,负责与用户界面互动 Activity通过接口与Presenter(可以理解为真正的指挥者)进行互动这样可以降低耦合。View interface:
需要View(安卓中为Activity)实现的接口,通过View interface 与 Presenter进行交互,降低耦合,方便单元测试。Model:
负责数据的存储、检索、操作。常实现一个 Model interface 来减低耦合Presenter:
作为 View 层 与 Model 层 交互的中间媒介(纽带)负责处理用户交互的复杂逻辑。实际上相当于指挥者。
使用MVP模式在安卓中
- 在Android开发中,Activity并不是一个标准的MVC模式中的Controller,它的首要职责是加载应用的布局和初始化用户界面