转载:http://www.raye.wang/2016/06/09/android-appjia-gou-xin-de/
MVC
mvc是以XML为V(视图)层,以Activity和Fragment为C(控制)层,bean数据实体为M(模型)层的一种模式来编写代码。但是因为XML的局限性,所以我们需要对V(视图)层进行操作,所以这也就是为什么那么多人抵制MVC的原因,因为这也算不上完整的MVC
优点:开发迅速,结构易理解
缺点:当一个界面业务逻辑一多,不方便维护
MVP
MVP是为XML配合Activity或Fragment为V(视图),同时抽象出接口,界面相关业务抽离出来的P(Presenter)同时通过视图接口来更新UI,数据实体为M(模型)
优点:业务发生变化时易修改,同时能减少修改过程中引发bug,也能将多人协同开发充分调用起来(并不是针对一个人负责一个模块的模式,而是多人协同开发一个模块)
缺点:开发速度会有所降低