您当前的位置: 首页 >  android

Kevin-Dev

暂无认证

  • 2浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android -- 架构】MVVM 模式

Kevin-Dev 发布时间:2019-12-06 09:29:10 ,浏览量:2

简介

MVVM 是 Model-View-ViewModel 的简写。它本质上就是 MVC 的改进版。MVVM 就是将其中的 View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。 MVVM 模式中,一个 ViewModel 和一个 View 匹配,它没有 MVP 中的 IView 接口,而是完全的和 View 绑定,所有 View 中的修改变化,都会自动更新到 ViewModel 中,同时 ViewModel 的任何变化也会自动同步到 View 上显示。 在 Android 中 DataBinding 帮助我们实现 MVVM,在 XML 进行数据绑定,增加了 XML 的重量,不再像以前那样仅仅是布局,均衡了各部分的职责。

设计图

MVVM.png

优点
  • 解决了 MVP 大量的手动 View 和 Model 同步的问题,提供双向绑定机制。提高了代码的可维护性。
  • 简化测试。
  • 响应式编程更方便。
缺点
  • 过于简单的图形界面显得大材小用
  • 视图状态较多,ViewModel 的构建和维护的成本都会比较高。
  • 数据绑定的声明是指令式地写在 View 的模版当中的,这些内容是没办法去打断点 debug 的。
实例

Android MVVM实战Demo完全解析

小结

看起来 MVVM 很好的解决了 MVC 和 MVP 的不足,但是由于数据和视图的双向绑定,导致出现问题时不太好定位来源,有可能数据问题导致,也有可能业务逻辑中对视图属性的修改导致。如果项目中打算用 MVVM 的话可以考虑使用官方的架构组件 ViewModel、LiveData、DataBinding 去实现 MVVM。

分享一个郭神开发的MVVM架构的开源小项目

关注
打赏
1658837700
查看更多评论
立即登录/注册

微信扫码登录

0.0368s