最近想要重构代码,因为项目需要给几个学校使用,而每个学校的界面是有差别的,但是功能几乎一模一样,虽然用gradle的分支可以做到代码的差异,但是公共部分的代码逻辑也越来越多,所以想重构一下,最近比较火的MVP模式看了一下,觉得很合适,不过网上很多资料也是抄来抄去,有的还有错误,就想按照自己的理解把MVP模式描述一下,方便他人理解,先说一下大家最熟悉的MVC设计模式吧。MVC模式解耦合了M层和V层,M层和V层通过C层来交互然后看一下MVP,我下面的文字以I开头的是接口的意思(手打的图好累...)MVP和MVC最大的区别是P层代替了以前的C层,控制的不再是具体的实现而是接口,这样不管是多人开发还是