三、MVVM模式2,MVVM模式在Android源码在的应用

本文来源:《Android源码设计模式》一书  著 何红辉/关爱民

mvvm与mvp非常相似,唯一的区别是view和model进行双向绑定,(data-bingding),两者之间有一方发生变化则反应到另一方上,而mvp与mvvm的主要区别是,mvp中的view更新需要通过presenter,而mvvm则不需要,因为view和model进行了双向绑定,数据的修改回直接反映到view角色上,而view的修改也会导致数据的变更,此时,viewmodel的角色需要做的只是业务逻辑的处理,以及修改view或者model的状态,mvvm的模式有点像listview和adapter,数据集的关系,这个adapter就是viewmodel的角色,她与view进行了绑定,又与数据集进行了绑定,当数据集发生变化时,调用adapter的notifydatasetchanged之后view直接更新,他们之间没有直接的耦合。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、概述 Databinding 是一种框架,MVVM是一种模式,两者的概念是不一样的。我的理解DataBindi...
    Kelin阅读 76,890评论 68 521
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,552评论 25 708
  • 今日梨园小镇之行,最喜的却不是赏梨花带来的愉悦,而是看到站在博陆山一侧的榆树。在这个目不暇接,美爆了眼睛的繁华季节...
    骄阳下的一朵莲阅读 1,210评论 10 11
  • 当时光逐渐过去,当你逐渐成长,为什么反而越加无法相信友谊。 你固执的说,这是你的理智与成熟。 但实际上。 你知道的...
    胖胖小鱼儿阅读 303评论 1 1
  • 所依赖的有它自己的时间表 不受支配的夏 冷却了的风声 晾衣架丢在阳台 门后走廊通宵寂静灯火 放空过度的人 就听着肖...
    慕籽阅读 285评论 2 5