首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有人能解释一下,在使用MVVM模式为屏幕获取数据时,我应该把代码放在哪里吗?

在使用MVVM模式为屏幕获取数据时,应该将代码放在ViewModel层。

MVVM(Model-View-ViewModel)是一种软件架构模式,用于将用户界面(View)与业务逻辑(Model)分离,并通过ViewModel来进行交互。在MVVM模式中,ViewModel负责处理数据的获取和处理,并将处理后的数据提供给View进行展示。

因此,在使用MVVM模式时,为了获取屏幕数据,应该将相关的代码放在ViewModel层。ViewModel层可以通过调用后端API、数据库查询、网络请求等方式获取数据,并对数据进行处理和转换,最后将处理后的数据提供给View层进行展示。

在腾讯云的相关产品中,可以使用云函数(SCF)来编写和部署后端逻辑,通过云数据库(TencentDB)存储数据,使用云开发(CloudBase)提供的前后端一体化开发能力来实现MVVM模式中的数据获取和处理。具体产品介绍和链接如下:

  1. 云函数(SCF):腾讯云提供的无服务器计算服务,可用于编写和部署后端逻辑。详情请参考云函数产品介绍
  2. 云数据库(TencentDB):腾讯云提供的高性能、可扩展的云数据库服务,可用于存储和管理数据。详情请参考云数据库产品介绍
  3. 云开发(CloudBase):腾讯云提供的前后端一体化开发能力,可用于快速构建云原生应用。详情请参考云开发产品介绍

通过使用腾讯云的相关产品,可以方便地实现MVVM模式中的数据获取和处理,并提供稳定可靠的云计算服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

当我们使用 MVVM 模式,我们究竟在每一层里做些什么?

当我们使用 MVVM 模式,我们究竟在每一层里做些什么?...只是想说说我们究竟应该如何理解 M-V-VM,当我们真正开始写代码应该在里面的每一层里写些什么。 ---- MVVM,当然三层——M-V-VM。...其中 M 和 V 的中文词语和英文单词是很好理解的,但是 VM 就不是个日常用词;于是各种不知道应该放在哪里代码便一窝蜂全放进了 VM 中,最终导致了 VM 的无限膨胀,成百上千行也是司空见惯啊!...可是,若 VM 不膨胀,那让 M 或者 V 膨胀?当然不是,谁都不要膨胀!于是那么多的代码写到哪里呢? 答案:MVVM 之外。...而一个持续发展的程序怎么只有 GUI 呢? MVVM 只是数据驱动型 GUI 程序建议的开发模式;无论是三层中的哪一层,本质上都是解决 UI 问题。

89610

聊聊iOS中的 MVC、MVP、MVVM以及 VIPER等代码组织方式

现在我们面对架构设计模式的时候有了很多选择: - MVC - MVP - MVVM - VIPER 首先前三种模式都是所有的实体归类到了下面三种分类中的一种: - Models(模型)数据层,或者负责处理数据的...一、MVC“架构” (1)MVC - 它原来的样子 经典MVC模式提出,大致是上图这样的。...VIPER并不复杂,它是将原来MVC中的Controller中的各种任务进行了清晰的分解,代码,你会很清楚你正在做什么。 事实上,它比使用数据绑定技术的MVVM更加简单,就是因为它职责明确。...各部分遵循单一职责,可以很明确地知道新的代码应该放在哪里。 * 隔离程度高,耦合程度低。一个模块的代码不容易影响到另一个模块。 * 易于团队合作。...各部分分工明确,团队合作易于统一代码风格,可以快速接手别人的代码。 缺点 * 一个模块内的类数量增大,代码量增大,层与层之间需要花更多时间设计接口。

4.2K21
  • 使用 Architecture Component 实现 MVVM 的正确姿势

    它可以实现当 Activity 状态发生变化诸如屏幕旋转的时候,数据保存下来而不会丢失。...传递参数,这里分场景看一下: Fragment 或者 Activity 中使用 ViewModel 注意事项 通过 ViewModelProvider 获取 ViewModel ,必须在 Activity...因此使用 LiveData 的时候也要特别注意这一点,否则可能引发一些意想不到的问题,具体可移步的另一篇文章:LiveData 的正确使用姿势以及反模式 非粘性消息的实现 网络上和官方博客上都有提到...,这个处理的过程应该放在 ViewModel 中(可以使用 Transforms) View 层不应该有过多的逻辑代码,逻辑代码应该在 ViewModel 中处理好再通知 View 直接更新 UI,View...只需要关系如何更新 UI 以及用户的交互事件发送给 ViewModel 即可,这种模式叫做 Passive View 理想情况下 ViewModel 中不应该有 Android framework

    78220

    Interview: 2020春季中高级前端面试记 | 渐进增强题目甄选(上篇)-react&http基础

    面经 基础的前端面试题大家应该耳熟详了,今天来介绍一些面试中遇到深入探讨和询问的问题问题都是开放性的,考官一般根据你的回答来问下一步问题。下面提供 keywords 中有一些解决方案。...最后浏览器渲染的页面,你具体说一下前端渲染的流程?...也说说什么是 MVVM ? react 是什么设计模式 ?(这里就有埋坑了) 讲讲react 的通信方式?...(props render, context, ,全局 store 这边提到了使用 mbox) 能给我解释一下 mbox 具体的使用场景?...刚刚提到了 @observer , 你可以实现一个 JavaScript 的观察者模式?。 我们都知道 react 是单向数据流,这里想实现一个双向绑定可以怎么实现?

    73630

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

    之前公众号里透漏过这个项目能够帮助大家更好地理解MVVM架构,当然也希望确实如此。 虽说这篇文章重点是向大家介绍这个开源小项目的,但是并不希望就写得如此简单,准备它写成一篇干货文章。...而MVVM(Model-View-ViewModel)是一种代码架构模式,被广泛应用在Android程序设计领域,类似的架构模式还有MVP、MVC等。...蓝色部分表示的是ViewModel层,ViewModel用于持有和UI元素相关的数据,以保证这些数据屏幕旋转不会丢失,以及负责和仓库之间进行通讯。...黄色部分表示的是仓库层,仓库层要做的工作是自主判断接口请求的数据应该是从数据库中读取还是从网络中获取,并将数据返回给调用方。...最后红色部分表示的是网络数据层,这里使用了Retrofit从web服务接口获取数据

    79530

    「Android 架构」—— MVVM 详解

    前言 只要你掌握了基础知识,要想构建一个完整的 Android App 并不难,但是想要写出一个可维护的 App 就是另一回事了,这时候就必须让你自己的代码足够健壮,就需要避免所有业务逻辑代码放在...那么应该怎么做呢?—— 使用 架构模式!MVC、MVP、MVVM、...任何一种都要比没有架构设计的流水式代码好得多,MVVM 是 Android 开发最好的架构选择之一。...Google 官方也非常支持和鼓励开发者使用这一架构模式。 本教程将为你讲明白到底什么是 MVVM,虽然也不喜欢理论,但有时候实际操作之前先了解它非常重要,所以请务必耐心看完。...当你查看上面的架构模型图,你可能想知道 View 如何获取应该显示的所有数据。如图,箭头仅指向一个方向 -> ViewModel。...想在开始你省去不必要的混乱,这就是为什么那些可观察到的箭头没有出现在介绍 MVVM 的第一个图表中。 ?

    1.9K40

    MVVM伪框架结构和MVC中M的实现机制

    因为每个应用的业务逻辑和应用场景并不相同,所以两个平台也无法也不能够定义出一个通用的模型层出来,而是模型层的定义留给了开发者来实现。然而这我们的开发者使用MVC框架开发应用时埋下了隐患。...一个控制器的代码可能出现了好几千行的场景。于是乎有人就开始找解决方案来C层瘦身了。...这样这个类的代码抽离出来了,存放到一个单独的文件夹中。这个部分叫什么好呢?对了就叫视图模型层VM吧!视图模型层中的类定义了一个给外部使用的唯一接口来供C层调用。...MVVM各层的依赖关系 的很多视图的事件是C层中处理的,那我是不是可以C层的事件处理也拿出来呢? 干脆就拿出来吧。但是怎么拿出来呢?...就是同一个单元调度处理逻辑和功能的构建完全放在了一个地方,但不同的单元逻辑的又分散不同的地方,无法去分类统一管理和维护。因此你无法一下子就知道某个功能所有调度到底是如何实现以及在哪里实现的。

    80330

    Interview: 2020春季中高级前端面试记 | 渐进增强题目甄选(上篇)-react&http基础

    面经 基础的前端面试题大家应该耳熟详了,今天来介绍一些面试中遇到深入探讨和询问的问题问题都是开放性的,考官一般根据你的回答来问下一步问题。下面提供 keywords 中有一些解决方案。...最后浏览器渲染的页面,你具体说一下前端渲染的流程?...也说说什么是 MVVM ? react 是什么设计模式 ?(这里就有埋坑了) 讲讲react 的通信方式?...(props render, context, ,全局 store 这边提到了使用 mbox) 能给我解释一下 mbox 具体的使用场景?...刚刚提到了 @observer , 你可以实现一个 JavaScript 的观察者模式?。 我们都知道 react 是单向数据流,这里想实现一个双向绑定可以怎么实现?

    59420

    iOS应用架构谈 view层的组织和调用方案 pragma mark - life cyclepragma mark - life cyclepragma mark - getters and set

    在这里想讨论的是,设计View架构,如果为了能够达到统一设置或执行统一逻辑的目的,使用派生的手段是有必要的觉得没有必要,为什么没有必要?...iOS领域大部分MVVM架构都会使用ReactiveCocoa,但是使用ReactiveCocoa的iOS应用就是基于MVVM架构的?...那么ReactiveCocoa应该扮演什么角色? 不用ReactiveCocoa也MVVM,用ReactiveCocoa更好地体现MVVM的精髓。...所以如果能够一开始就尽量能不放在Controller做的事情放到别的地方去做,这样第一间就可以让你的那部分将来可能会被拆分的代码远离业务逻辑。...放在哪里都比放在addsubview的地方好,个人认为最好的地方还是放在getter里面,结合单例模式之后,代码会非常整齐,生产的地方和使用的地方得到了很好的区分。

    96480

    唯一可行的 iOS 架构

    老实说,一开始并不想写这篇文章,但是,最后还是没有控制住。 告诉一个我们应该使用的架构“模式”。甚至没有。告诉,至少一个,这并不奇怪。...我们拥有一百万种架构,但没有一种真正帮助我们,甚至没有一种看上去是好的代码组织方式。为什么? 为了解决这个问题,我们应该重新考虑一切,从头开始。...ViewModel 应该真正包含什么?当ViewModel 也变得像 Controller 一样臃肿该怎么办?社区也因此分裂喜欢 MVVM 的人和不喜欢 MVVM 的人。...MVVM 如果我们不使用 UIViewController 编写业务逻辑并使用分解将一个屏幕划分为多个 UIViewControllers,那么我们的 UIViewControllers 永远不会变得很大...是的,与 MVC 或原始 MVVM 不同,Presentation Model 是一种确实需要使用模式。无需进行标准化,也无需无故每个模块上创建 PresentationModel。

    1.3K20

    mvvm学习&vue实践小结

    ,那就形成了一种模式mvvm也是一种模式,它不一定叫mvvm模式,这也不是笔者决定的 对于这个模式的核心,笔者理解如下:系统根据配置得到了对某些数据源的某些处理规则,当数据源变动就会引发相应的处理规则...参考mvvm模式,可以这样: 收集系统独立于监控系统,各不相同,暂且不论。监控系统通过某些配置文件取得需要监控的数据源与相应的处理逻辑规则,当数据源发生变动触发相应的处理。...hasTitle">xxx 2.5.3 单值 虽然vue有语法解析器,可以directive的值中使用表达式,但是当出现一个复杂的表达式,会污染模板,让代码可读性变得很差,又或者,表达式完成不了这个任务的时候...:表达式)来写模板会让代码变得很清晰,更加可读,增加代码的可维护性,而且这也更符合mvvm的核心思想:f(state) = view 有些库连语法解析器都没有,比如q,但也很好的工作。...那么,复杂的操作放在哪里呢?

    87690

    mvvm学习&vue实践小结

    ,那就形成了一种模式mvvm也是一种模式,它不一定叫mvvm模式,这也不是笔者决定的 对于这个模式的核心,笔者理解如下:系统根据配置得到了对某些数据源的某些处理规则,当数据源变动就会引发相应的处理规则...参考mvvm模式,可以这样: 收集系统独立于监控系统,各不相同,暂且不论。监控系统通过某些配置文件取得需要监控的数据源与相应的处理逻辑规则,当数据源发生变动触发相应的处理。...hasTitle">xxx 2.5.3 单值 虽然vue有语法解析器,可以directive的值中使用表达式,但是当出现一个复杂的表达式,会污染模板,让代码可读性变得很差,又或者,表达式完成不了这个任务的时候...:表达式)来写模板会让代码变得很清晰,更加可读,增加代码的可维护性,而且这也更符合mvvm的核心思想:f(state) = view 有些库连语法解析器都没有,比如q,但也很好的工作。...那么,复杂的操作放在哪里呢?

    63120

    字节跳动Android客户端实习 3+1 面经,内部面试官透露通关秘籍

    image.png 身边很多朋友知道字节担任面试官,写文章的初衷之一也是希望多一个团队网络人才的渠道。...具体来说它们有些是带 Receiver 的、有些是带参数的,你使用过程中是怎么选择的呢? 5. OOP 中的设计模式有了解过? Java 中的单例模式分为哪些呢?... Kotlin 中如何实现懒汉式单例? Java 中 DCL 单例模式中双重校验的意义? 6. Jetpack 的其他组件有了解过? Room 使用的基本流程了解?...因为对迭代器不是特别熟悉,所以开始写的时候并没有单独用变量 it 迭代器存下来,而是每个要用迭代器的地方都获取了一次,然后跑起来报错了。后来意识到之后就改了。...然后面试官从代码规范和迭代器的使用两个角度讲了一下为什么应该迭代器提前存到变量里面,还提到了 WeakReference 相关的东西。

    1.6K00

    MVPMVCMVVM

    , 需要的只是新建相应的MVC模块, 加到对应的Scene即可. 4.可维护性: 各个模块间职责分离, 哪里出错改哪里, 完全不影响其他模块....2.调用model的接口获取数据,然后加工数据,封装成view可以直接用来显示的数据和状态。 3.处理界面之间的跳转(这个根据实际情况来确定放在P还是C)。 优点: 1.降低耦合度。...4.代码复用。 5.隐藏数据。 6.代码灵活性。 缺点: 由于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁。...MVVM 1.MVVM是由MVP进化而来,MVVM模式基本上与MVP相同,只是MVP中的P变成了VM,即ViewModel, 2.MVVM中的数据可以实现双向绑定,即View层数据变化则ViewModel...(以前做公司iPad的时候就深深感觉到,全部VC里面是多么的痛苦和重新开发一个没有啥区别)。 3.兼容MVC MVVM是MVC的一个升级版,目前的MVC也可以很快的转换到MVVM这个模式

    49220

    Android开发3年,九月份面试12家大厂跳槽成功,有一些面试经验想分享给你们

    编译注解与运行时注解,为什么retrofit要使用运行时注解?什么时候用运行时注解?...从事件传递,网络请求,AMS交互角度分析 AMS交互调用生命周期是顺序的? binder进程间通信可以调用原进程方法? mvp与mvvm有什么区别? token放在本地如何保存?如何加密比较好?...快手三面 viewModel的原理,为什么可以Activity销毁后保存数据 mvvm双向数据绑定的原理是怎样的?ViewModel 说说你们项目中的难点是怎样的?...mvp与mvvm模式的区别是什么? JetPack组件用过哪些?lifeCycle的原理是什么?如果在onStart里面订阅,会回调onCreate? 单例模式有什么缺点?...源码中有哪里用到了AtomicInt AQS了解

    1.6K10

    C# WPF MVVM开发框架Caliburn.Micro入门介绍①

    MVVM 简介 MVVM源于微软的软件开发架构模式MVVM的开发基于事件驱动,实现UI层和逻辑层的分离,从而使UI设计人员和程序员各施其职。...MVVM中的View ModelModel和View之间扮演着值转换器的角色,Model的数据交给View去绑定,View的数据提交给Model;同时也要实现mediator设计模式,成为View...以代码中心的开发人员会很高兴知道Caliburn.Micro支持非常简洁的语法,通过一个名为Message.Attach的特殊附加属性来声明这些ActionMessages。...最后,我们支持某些场景添加自定义行为。这允许我们根据命名模式检测是否需要自动生成数据模板或连接选择器的ItemsSource和SelectedItem。...想知道应用或不应用哪些约定?打开日志记录。想知道正在执行哪些操作?打开日志记录。想知道正在发布哪些事件?打开日志记录。你明白了。 MVVM 和MVP 如果不明显,这个框架支持MVVM

    1.8K20

    精选Android中高级面试题:性能优化,JNI,设计模式

    非必要的情况下可以加载延后或则开启子线程处理 另外,影响界面卡顿的两大因素,分别是界面绘制和数据处理: 布局优化 (使用 include,merge 标签,复杂布局推荐使用 ConstraintLayout...等) onCreate () 中不执行耗时操作 页面显示的 View 细分一下,放在 AsyncTask 里逐步显示,用 Handler 更好。...,但是如果要在 ListView 实现局部刷新,依然是可以实现的,当一个 item 数据刷新,我们可以 Adapter 中,实现一个 onItemChanged () 方法,方法里面获取到这个 item...2、谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里 ?...对于偏向展示型的 app,绝大多数业务逻辑都在后端,app 主要功能就是展示数据,交互等,建议使用 mvvm。 对于工具类或者需要写很多业务逻辑 app,使用 mvp 或者 mvvm 都可。

    2.7K30

    Android开发模式之MVC,MVP和MVVM的简单介绍与区别

    文章重点: (1)了解并区分MVC,MVP,MVVM。 (2)知道这三种模式Android中如何使用。 (3)走出data binding的误区。...MVVM MVVM最早是由微软提出的 ? 这里要感谢泡在网上的日子,因为前面看到的三张图都是从它的博客中摘取的,如果有人知道不允许这样做的话请告诉,我会从的博客中删除的,谢谢。...还记得之前说的?MVP模式中,view层和presenter层靠的就是接口进行连接,而具体的就是上面的这个了,里面定义的三个方法,第一个是开始获取数据,第二个是获取数据成功,第三个是改名。...但是,这里想说,不要把一个框架看作万的,其实MVP和MVVM都是有自己的缺陷的!下面一一来说。...有人会说你可以对model的处理放到viewmodel层中,这样不是更符合MVVM的设计理念?这样确实可以,但是progressDialog的show和dismiss呢?

    2.7K82

    精选Android中高级面试题 (四):性能优化,JNI,设计模式

    如果内存足够不回收。内存不够就回收软引用对象 2、内存中如果加载一张 500*500 的 png 高清图片。应该是占用多少的内存?...非必要的情况下可以加载延后或则开启子线程处理 另外,影响界面卡顿的两大因素,分别是界面绘制和数据处理: 布局优化 (使用 include,merge 标签,复杂布局推荐使用 ConstraintLayout...,但是如果要在 ListView 实现局部刷新,依然是可以实现的,当一个 item 数据刷新,我们可以 Adapter 中,实现一个 onItemChanged () 方法,方法里面获取到这个 item...2、谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里 ?...对于偏向展示型的 app,绝大多数业务逻辑都在后端,app 主要功能就是展示数据,交互等,建议使用 mvvm。 对于工具类或者需要写很多业务逻辑 app,使用 mvp 或者 mvvm 都可。

    1.1K30

    “终于懂了“系列:Jetpack AAC完整解析(四)MVVM - Android架构探索!

    这篇,就来探索下目前android开发中 最优秀、讨论最多的架构模式—— MVVM 。 几个月前,所在项目完成了 MVVM 的架构改造。这篇开始写之前,也阅读了大量MVVM文章。...易于使用、维护性好 提高开发效率 架构模式最终都是 服务于开发者。如果代码职责和逻辑混乱,维护成本就会相应地上升。...数据层:数据获取和存储,含本地、server。 正常的开发流程中,开始写代码之前 都会有架构设计这一过程。这就需要你选择使用何种架构模式了。...ViewModel层 用于持有和UI元素相关的数据,以保证这些数据屏幕旋转不会丢失,并且还要提供接口给View层调用以及和仓库层进行通信。...例子是很简单的,所以实际开发中 需要深入理解 MVVM 数据驱动的本质,和MVP的区别。 有人可能会有疑惑:怎么完全没有提 DataBinding、双向绑定? 实际上,这也是之前的疑惑。

    2K20
    领券