在网上找了两张图,可以更好理解什么是MVP
原创文章,转载注明出处:http://blog.csdn.net/deng0zhaotai/article/details/49950555
在开发APP时Activity或Fragment一般都会用来加载显示View,同时也会处理部分逻辑功能代码,这就导致Activity或Fragment的代码量很大,维护起来很麻烦,但对于小型的APP不建议使用这样的开发模式,因为使用MVP会增加很多接口类,提高了代码复杂度,所以一般比较大型的App才会使用模式。
使用MVP的好处:
1.降低程序的耦合性
2.提高代码复用性
3.便于代码的维护
4.便于写测试用例验证
5.模块划分清晰
缺点:
1.类的数量增加
2.代码复杂,学习成本增加
3.presenter个别接口冗余
这就要看开发者如何去权衡
下面使用一个例子说明MVP
像上面这么简单的例子直接在Activity中都可以完成根本不需要什么MVP、MVC模式,但在复杂的程序中是很有必要的,如果是两个人写一个App,写Model的人不需要关心View,并且使用MVP可以很方便的写测试用例,这个例子只是简单说明下MVP如何应用。例子中结构看起来很清晰,但类会较多,这里就不贴代码了,最后感兴趣的可以下载去看。
程序界面截图
程序源代码下载:http://pan.baidu.com/s/1i3rXUyp
参考文档:
2.http://hannesdorfmann.com/android/mosby-playbook/
3.http://www.zhihu.com/question/35185744