MVVM理解

 

(字体放大会促进学习兴趣哦)

其他相关文章:

android之LifeCycle:https://blog.csdn.net/li6472/article/details/119795952?spm=1001.2014.3001.5501

android之LiveData:https://blog.csdn.net/li6472/article/details/119784791?spm=1001.2014.3001.5501

android之ViewModel:https://blog.csdn.net/li6472/article/details/119800423?spm=1001.2014.3001.5501

android之MVVM框架使用之xml详解:https://blog.csdn.net/li6472/article/details/119782825?spm=1001.2014.3001.5501

android之MVVM框架使用之BaseObservable与双向绑定:https://blog.csdn.net/li6472/article/details/119779950?spm=1001.2014.3001.5501

amdroid之MVVM写一个简单的程序:https://blog.csdn.net/li6472/article/details/119761806?spm=1001.2014.3001.5501

先上图

模型-视图-视图模型

解释一下

模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁 

(很关键)关于数据监控传输请到https://blog.csdn.net/li6472/article/details/119779950

 一  终极解释

MVVM是Model-View-ViewModel的简写

(它本质上就是MVC (Model-View- Controller)的改进版)

两个方向:

一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。

二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定

总结:在MVVM的框架下视图和模型是不能直接通信的。它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。并且MVVM中的View 和 ViewModel可以互相通信。

精髓:(重要)

1、View和Model双向绑定,一方的改变都会影响另一方,开发者不用再去手动修改UI的数据。

2、不需要findViewById也不需要butterknife,不需要拿到具体的View去设置数据绑定监听器等等,这些都可以用DataBinding完成。

3、View和Model的双向绑定是支持生命周期检测的,不会担心页面销毁了还有回调发生,这个由lifeCycle完成。

4、不会像MVC一样导致Activity中代码量巨大,也不会像MVP一样出现大量的View和Presenter接口。项目结构更加低耦合。

 

因个人能力及精力有限,文中难免有讲解不到位的地方,还请各位读者谅解;也难免存在疏漏或理解错误的地方,恳请各位开发者拍砖!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值