MVC、MVP、MVVM三种模式

本文参考自 认清Android框架 MVC,MVP和MVVM
以及MVP模式简单易懂的介绍

便于自己学习所做的一些整理。

1.mvc 模式
MVC、MVP、MVVM三种模式_第1张图片
MVC模式图.png

MVC模式主要的问题:

  • view层为xml文件,控制能力较弱,对于一些动态的界面来说要依靠于activity来编写,导致activity过于臃肿,不便于维护。
  • view层与model层是相互可知的,存在耦合。
2.mvp 模式
MVC、MVP、MVVM三种模式_第2张图片
MVP模式图.png

MVP是对于MVC模式的一种改进。主要在于解耦View层和Model层

  • 主要的核心思想
    MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model

  • 其中presenter层主要充当的是桥梁的作用,view层发送数据到presenter层中,presenter层去操作model层,并且将数据返回给view层。

  • 这种交互主要是通过定义接口,activity和fragment可以去实现这个接口,然后再对应的presenter中通过接口调用方法。

  • 比较好的方法是,使用fragment作为view层,而activity则是用于创建view层(fragment)和presenter层(presenter)的一个控制器

3.mvvm模式
MVC、MVP、MVVM三种模式_第3张图片
MVVM模式图.png
  • MVVM模式与MVP模式差不多,主要是将presenter转成viewmodel层,以及view层和viewmodel层之间的关系是相互绑定的。这意味着最大的好处是,当你在更新viewmodel层的同时,view层也会去相应的更新UI。

你可能感兴趣的:(MVC、MVP、MVVM三种模式)