mvc被抛弃的原因:v层监护者另外两层的联系 当代码量小的话用mvc简单 当代码量大的话后期维护麻烦 ,当一个地方的变动会牵扯到很多地方 m层变动会使V层变动 V层变动会牵扯到逻辑层变动 单元测试的时候不能单独被分离出来 不能被复用
MVP 业务逻辑在P层 V层负责展示数据 M层负责数据的加载 当代码量庞大的时候也会显得V层代码量清晰 相同逻辑的P层可以复用 坏处:接口增多 每个界面都采用Mvp 不容易维护 用契约类进行维护 mvp最大好处是解耦 便于后期维护和复用
MVVM 比mvp更加解耦 V是ViewModel mvvp不需要通过P层 用到了databmg 将布局和数据源绑定 一方发生改变就会通知另一方 类似网线缠绕在一起 不方便查找 使用框架的话相当于给他们进行分类加上标签 这样就可以快速查找到