对于新出来的MVP模式,我是一头雾水,虽然跟MVC有很多的相似之处。但是还有很多是不懂的地方。MVP模式出来以后被广大的Android程序员接受,对于我来说,一个的新的东西,先要把它牢牢的掌握。
先介绍一下MVC然后在介绍MVP。清晰地对比一下区别。
MVC分为:
Model:实体的模型
View:视图层,相对于布局文件
Controller:是控制器,是对应于Activity的
MVP分为
Model:实体的模型
View:相对于Activity,负责View的绘制与用户交互
Presenter:是完成View与Model间的交互
总而言之这两个模式,是有些区别,原本是把所有东西写到Activity里面,现在是减少了Activity的职责,把Activity里的复杂的代码提取到了Presenter中进行处理,这样这做的好处有什么呢,降低耦合度,更方便的进行测试。
下面我就用了登录的代码解释一下MVP:
先是看见项目结构:
接下来开始编写思路
一、
首先是user类,从里卖你可以看出,这是一个Login登录的页面。是Presenter用作Model和View之间交互的桥梁
这是个页面判断登录,还有从net调用一个耗时操作:
这个是Activity的页面 主要是找控件和调用一些方法
这是model层,里面用了一个SharedPreferences
可以把用户登录界面跳过。
以上所述的代码:就是一个login页面。
这是我的个人见解,欢迎大家提意见。