前言:在之前的开发中一直用的是mvc模式搭建的项目,所以我对于mvp也一直只是停留在理论和demo阶段上。正好现在的项目是被小伙伴借助dragger搭建的mvp模式的结构,所以就想着总结整理一下mvp模式的东西并写出来,也算是作为自己使用了mvp模式的标志。本文会先简单介绍一下几个常用的项目搭建模式,当然侧重点还是后面的mvp详解。
常用的几个模式:MVC、MVP、MVVM
MVC
对于MVC我想大家应该都不陌生,最典型的MVC就是JSP + servlet + javabean的模式了。
上面两张图是我从别的文章copy的,从中很容易看出MVC
的大致流程,用户通过操作View
来发送用户请求;Controller
接收到 用户请求 后,负责决定应该调用哪个Model
来进行处理;然后Model
根据用户请求进行相应的业务逻辑处理,并返回数据;最后Controller
调用相应的视图View
来显示Model
返回的数据。
MVVM
看上面的图(当然也是copy的),在MVVM
中有个ViewModel
,它的作用就是与View
进行双向绑定,当View
或者ViewModel
有一方变动时,另一方也会跟着改变,其实就是观察者模式,同时ViewModel
也会处理一些轻量的业务逻辑,具有和MVP
中的Presenter
的一些类似功能。当用户对View
进行操作时,ViewModel
就会直接收到指令,然后调用