MVP架构简单解析

一、引言

MVP的优点:火是有原因的,我就不多BB了。

二、概述

MVC应该是大家最初学习的框架:

View:对应于布局文件

Model:业务逻辑和实体模型

Controllor:对应于Activity

MVP架构由MVC发展而来,在MVP中,M代表Model,V代表View,P代表Presenter。

Model :负责获取数据,数据的来源可以是网络或本地数据库等;

View: 负责界面数据的展示,与用户进行交互;

Presenter: 是Model与View之间的通信的桥梁,将Model与View分离开来。

MVP理解

Activity 和Fragment 视为View层,负责处理 UI。

Presenter 为业务处理层,既能调用UI逻辑,又能请求数据,该层为纯Java类,不涉及任何Android API。

Model 层中包含着具体的数据请求,数据源。

调用顺序为view->presenter->model,为了调用安全着想不可反向调用!不可跨级调用!


上图中说明了低层的不会直接给上一层做反馈,而是通过 View 、 Callback 为上级做出了反馈,这样就解决了请求数据与更新界面的异步操作。上图中 View 和 Callback 都是以接口的形式存在的,其中 View 是经典 MVP 架构中定义的,Callback 是我自己加的。View 中定义了 Activity 的具体操作,主要是些将请求到的数据在界面中更新之类的。Callback 中定义了请求数据时反馈的各种状态:成功、失败、异常等

demo的地址:https://github.com/zxiao208/Mytest

你可能感兴趣的:(MVP架构简单解析)