设计模式模式

Android Mvp、Mvc、Mvvm

2016-11-08  本文已影响158人  三季人

前段时间项目上有点忙,已经停止更新很久了,最近有空,想把自己之前再项目中用的一些,或者学习的一些知识总结一下,哈哈,又快到年底啦。可以做做准备哦。

首先要明确了解MVP、MVC、MVVM 都是软件的架构,然后我们再来分别了解下他们之间的优缺点和联系

MVC

mvc的意思是,软件可以分为三个部分
mvc(model-view-controller)

各个模块之间的联系如下图

mvc.png

MVC优缺点:

优点:
讲业务逻辑层都抽到controller层,模块化程度高

缺点:
view-model-controller之间的联系紧密,耦合性低,不利于测试和修改

MVP

mvp和mvc类似,只是将controller改为present
(model-view-present)

各个模块之间的联系如下图:

mvp.png

中间实现的原理个人理解就是:

  1. activity界面实现一个viewInterface
  2. present对象中注入viewinterface实例
    在present中可以做任何复杂的业务逻辑操作
    处理结束之后,可以通过viewinterface,直接更改activity界面的更改

哈哈,是不是很简单。

mvp优点:
model层不再直接更新view层,降低了耦合性,更利于测试

MVVM

mvvm模式将mvp中present改为viewModel,基本和mvp一致

关系图如下:

mvvm.png

关于什么是MVVM可以参考下这这篇文章

还有一个本人之前写的databinding这篇文章

上一篇 下一篇

猜你喜欢

热点阅读