MVP的主要思想就是解耦View和Model
编程
先大体从图上看一下MVP和MVC又什么不一样;
app

MVC:
- M : Model 数据模型,就是对数据的封装和保存;
- V : View 视图界面,至关于布局文件;
- C : Controller 控制器,就是Activity和Fragment这些;
View传送指令到Controller,Controller完成业务逻辑后,改变Model的状态,Model将新的数据发送到View;这就是MVC的大体逻辑;
布局
MVP:
- M : Model 数据模型,就是对数据的封装和保存;
- V : View 视图界面,至关于Activity用来和用户交互;
- P : Presenter 交互者,Model和View的中间枢纽,处理用户交互的逻辑;
View不直接与Model交互,而是经过与Presenter的交互来和Model间接的交互;View和Presenter的交互式经过接口来进行的;简单的来讲就是面向接口编程;