MVC、MVP和MVVM的异同

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的异同

posted @   嘉禾世兴  阅读(278)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示