当前位置: 首页 > news >正文

Android kotlin 系列讲解(进阶篇)高级项目架构模式 - MVVM

<<返回总目录

1、MVVM是什么

MVVM是Model-View-ViewModel的缩写,是一种高级项目架构模式。
 
MVVM架构可以将程序结构主要分成三个部分:

  • Model:数据模型部分,包括从服务端获取的json数据或者从本地获取的数据等等
  • View:界面展示部分(Activity,Fragment,控件View等等)
  • ViewModel:一个连接数据模型和界面展示的桥梁,从而实现让业务逻辑和界面展示分离的程序结构设计

2、MVVM项目架构示意图:

可以看到,平时写的ActivityFragment、等与界面有关的东西就是在UI控件层中的。ViewModel层用于持有和UI元素相关的数据,以保证这些数据在屏障旋转时不会丢失,并且还要提供接口给UI控件层调用以及和仓库层进行通信。仓库层要做的主要工作是判断调用方请求的数据应该是从本地数据源中获取还是从网络数据源中获取,并将获取到的数据返回给调用方。本地数据源可以使用数据库、SharedPreferences等持久化技术来实现,而网络数据源则通常使用Retrofit访问服务器提供的Webservice接口来实现

http://www.lryc.cn/news/31073.html

相关文章:

  • 8. 查找
  • 二分查找算法
  • Git(3)之远程服务器
  • Javalin解构
  • yolov5算法,训练模型,模型检测
  • linux系统防火墙开放端口
  • CSAPP第九章 虚拟内存
  • numpy数组与矩阵运算(二)
  • Dubbo 中 Zookeeper 注册中心原理分析
  • 素数产生新的算法(由筛法减法改为增加法)--哥德巴赫猜想的第一次实际应用
  • 递归-需要满足三个条件
  • 【剑指Offer-Java】两个栈实现队列
  • Allegro如何将Waived掉的DRC显示或隐藏操作指导
  • MATLAB——数据及其运算
  • 【微信小程序】-- 页面导航 -- 声明式导航(二十二)
  • gdb查看汇编代码的例子
  • 第四讲:如何将本地代码与服务器代码保持实时同步
  • cuda调试(一)vs2019-windows-Nsight system--nvtx使用,添加nvToolsExt.h文件
  • 向Spring容器中注入bean有哪几种方式?
  • 如何用 Python采集 <豆某yin片>并作词云图分析 ?
  • Python装饰器的具体实用示例
  • 谈谈我对Retrofit源码的理解
  • 八股文(三)
  • 2023最新实施工程师面试题
  • 安卓逆向_6 --- JNI 和 NDK
  • Pod控制器
  • 微服务到云原生
  • Spring Security 实现自定义登录和认证(1):使用自定义的用户进行认证
  • Spring Cloud(微服务)学习篇(七)
  • 嵌入式安防监控项目——前期知识复习