MVC与MVP的区别
MVC
View:布局的xml文件,或者纯Java写的布局,可以把页面显示的逻辑直接放在View中。
Model:数据处理层,可以直接和View进行交互。
Controller:把特定的功能逻辑抽离出来,作为控制层,保证View层和Model层的功能单一性,便于维护。
MVC模式相对比较简单,尤其是View层,我们可以通过jsp等技术直接操作页面,完成和Controlller层和Model层的交互,所以MVC的核心是在View层。
MVP
View:Activity作为显示层。
Presenter:逻辑层,从Activity中抽离出功能逻辑,简化Activity的代码。
Model:数据处理层,主要负责网络请求,本地数据加载等操作,进一步简化Activity的代码。
从MVP的构成来看,Presenter和Model都是为了View层存在的,所以MVP的核心仍然是View层。
总结就是:View 与不与Model交互 通俗的讲,就是你代码逻辑有没有写在View中的,有就是MVC,没有就是MVP