android MVP框架认识

此章整理从网上看来的 对MVP框架的认识

1、框架图

android MVP框架认识

 

2、释义:

Model:业务逻辑与数据。数据分为本地数据(数据库 or SP)和 远程数据(通过网络请求拉去的数据)。

View:视图。

Presenter:将Model 和 View 接在一起的 中间层。

3、例子:谷歌官方todo-mvp

目录结构:

android MVP框架认识

 

data包对应model(MVP中的M)

util包即通用工具包

剩下4个包对应4个视图模块

 

打开其中一个模块包,查看目录结构:

android MVP框架认识

 

一个模块包由一个activity(创建者),一个contract(契约),一个fragment(MVP中的V),一个presenter(MVP中的P)构成

fragment负责显示,即承担视图任务。

activity负责创建presenter和fragment之间的联系。

contract负责管理view 和 presenter 的接口约定。

4、注意:

由于presenter和view之间是双向的关系,所以它们需要互相持有对方的引用。在生命周期走到view注销的时候,需要考虑撤掉presenter中对view的引用,防止内存泄露。