博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC、MVP和MVVM的异同
阅读量:6181 次
发布时间:2019-06-21

本文共 641 字,大约阅读时间需要 2 分钟。

No1:

Model一般用来保持程序的数据状态,比如数据存储、网络请求等

No2:

Android开发中应用到MVC的地方:比如ListView与Adapter,如果把ListView看作View层,那么Adapter则可以看作Controller,获取ListView展示数据的相关实现类则看作Model。

如果把思维放大,也可以把Android中的xml布局/View类看作View层,而把Activity看作是Controller层,Model层则由相关的数据操作类承担。

No3:

MVP模式可以分离显示层和逻辑层,它们之间通过接口进行通信,降低耦合。

No4:

NavigationView就是MVP设计模式的一个真实案例,Toolbar的菜单解析也遵循MVP设计模式。

No5:

MVVM:Model-View-ViewModel

View和ViewModel内部通过一个Binder进行事件交互,该Binder通过双向绑定将View与ViewModel中与对于数据操作的部分链接,当对应数据由更新时同样会自动地反馈到View层上。

No6:

要想在Android中快速地应用MVVM,最好的方式是使用谷歌官方提供的DataBinding来作为双向绑定的工具,其本质是帮助我们实现MVVM中Binder的功能。

在Module的build.gradle文件里配置

dataBinding{   enabled = true  }

No7:

MVC、MVP与MVVM的异同

转载地址:http://ptbda.baihongyu.com/

你可能感兴趣的文章
toggle的用法(点击更换不同的function)当指定元素被点击时,在两个或多个函数之间轮流切换。...
查看>>
【转】在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法...
查看>>
34.node.js之Url & QueryString模块
查看>>
Self20171218_Assert断言使用
查看>>
fastjson 的简单说明及使用
查看>>
DFS序
查看>>
STM32 CRC32与对应的软件CRC32(转)
查看>>
RGCDQ(线段树+数论)
查看>>
理解Kubernetes(2): 应用的各种访问方式
查看>>
Ionic的NavController 和ModalController 的区别
查看>>
telnet允许root用户登录
查看>>
Kafka的CommitFailedException异常
查看>>
思考与阅读
查看>>
ES6
查看>>
Wireshark中的一些SNMP相关的过滤器
查看>>
java8 新特性
查看>>
Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench
查看>>
在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)
查看>>
leetcode 598. Range Addition II
查看>>
STM32-对芯片启动读保护,实现加密(详解)
查看>>