一、概述
今天我们实现不得姐的架构分析与设计,因为主要是架构设计,就没有效果图了,废话不多说,我们一起了解什么是mvp,然后去实现一个mvp的架构。
二、什么是mvp?
mvp是一种项目架构的设计模式,其实mvp的本质就是将view和model层完全隔离开来,通过presenter统一调度管理。
举个栗子?
例如,我们找房子,我们自己就相当于是view,要找房子,然后就通过中介presenter发起一个找房子的请求,中介presenter找到房子的出租人model,获取到房子信息,有或者没有房子,获取到出租信息后中介presenter立马打电话给自己view进行出租,这个过程我们不需要关心出租人,只要和中介发生关系就可以了,也就是model和view完全解耦。
架构原理图: Mvp数据流.PNG
三、mvp和和mvc有什么区别呢?
看图:
mvc模式下,view可以访问control,model可以访问control,view和control也可以相互访问,我们平时在activity和fragment里面操作数据库,发送网络请求等。所以mvp的好处就是将model和view完全解耦,统一通过presenter调度。
四、百思不得姐项目架构
包结构图:
项目结构图.PNG至于具体代码我这里不做具体分析,我把代码发出来,各位可以对照代码理解mvp模式的运用。
代码链接:
http://pan.baidu.com/s/1jIJyPP8
网友评论