Android MVP 和 MVVM 区别

今天,偶然看到一位朋友分享了自己的面试经历,看到其中很多面试题自己也雾里看花,不清不楚,为了能弥补自己的不足,针对 Android 架构中的 MVP MVVM的区别进行如下整理:

 参考博文:https://www.jianshu.com/p/a15d6e68d93f 

一、概述

MVVM模式包含了三个部分:

  • Model :基本业务逻辑
  • View : 视图内容
  • ViewModel: 将前面两者联系在一起的对象

当View有用户输入后,ViewModel通知Model更新数据,同理Model数据更新后,ViewModel通知View更新。

二、MVP MVVM区别

三、总结

可以看到 ViewModel 承担了 Presenter 中与 view和 Model 交互的职责,与 MVP模式不同的是,VM与 V 之间是通过 Databingding 实现的,而 P是持有 View 的对象,直接调用 View 中的一些接口方法来实现。

ViewModel可以理解成是View的数据模型和Presenter的合体。它通过双向绑定(松耦合)解决了MVP中Presenter与View联系比较紧密的问题。

更多有关 Android 架构 MVC  MVP  MVVM 的理解,请参阅: https://www.jianshu.com/p/4830912f5162

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值