一篇文章彻底弄懂Android-MVVM

一篇文章彻底弄懂Android-MVVM,第1张

概述转:一篇文章彻底弄懂Android-MVVM在学习一个技术之前,我们首先要搞清为什么要用它、用它以后会有什么好处,这样我们才能有兴趣的学习下去。一、为什么要用MVVM?我为什么要用这个什么MVVM,我就平常写和它有什么不同吗?首先我们要说一下,使用MVVM后,程序会有哪些变化:1.MVVM并不会提升

转:

一篇文章彻底弄懂Android-MVVM

在学习一个技术之前,我们首先要搞清为什么要用它、用它以后会有什么好处,这样我们才能有兴趣的学习下去。

一、为什么要用MVVM?

我为什么要用这个什么MVVM,我就平常写和它有什么不同吗?

首先我们要说一下,使用MVVM后,程序会有哪些变化:

1.MVVM并不会提升程序的性能,甚至如果用不好还会降低性能。

2.MVVM会增大代码的总量。

3.阅读MVVM的代码你必须不停的跳来跳去,跳到你恶心想吐。

啥?你在搞笑吗?那我为什么还要用它?且慢,我还没说最重要的一条。

4.MVVM将让你的程序完全解耦。当然,是正确使用的前提下。

为了最后这一条,我们用前3条的牺牲完全不过分,真正写代码的时候,我们面对的往往不是性能的些许提升,也不是几十或几百K的包大小增大带来的问题,而是程序不停迭代所带来的程序稳定性要求。而这也是MVVM大显身手的地方,MVVM能够完全让你的业务功能组件化,让我们需要什么就调什么,并且组件可以在不同页面之间复用;在写业务组件的时候,我们可以完全集中精力,只管写组件要完成的功能,而无需分神它顾。

读到这,相信你应该对MVVM稍微有点兴趣了吧。

二、MVVM到底是什么?

MVVM,是Model、VIEw、viewmodel三者的缩写,它是一种程序的设计框架,是一种设计思路。不同的人实现MVVM,所用的构成技术、实现以后的性能都是不一样的。千万不要觉得它有多深奥,他其实就是由一系列代码(或技术)构成的一个程序的底座。我们在良好底座上开发出来的程序稳定性更高,可扩展性更强。

下面我们挨个来来说Model、VIEw、viewmodel。

1.Model:数据提供。

Model在程序中专门用于提供数据,不管是网络请求获得的数据,还是数据库获得的数据,统统写在Model里。Model层独立性相当强,它只用来提供数据,而不管数据是用来做什么的。

2.VIEw:视图元素和视图元素初始化。

VIEw在AndroID中指代的就是我们常见的布局文件和Activity中的元素初始化部分。总之,所有一切我们在AndroID上肉眼能看见的东西都是VIEw。在VIEw层里,我只对UI做初始化,比如将TextVIEw设置字体大小,为Banner控件设置滚动速度等等,这些大多可以直接在布局文件中完成。

3.viewmodel: *** 作业务数据,并将数据呈现在VIEw上。

viewmodel根据业务需要,从Model层调取相关数据,然后更新VIEw层相关元素。

说起来有点抽象,别急,下面我们用一个简单的例子来解释它们怎样互相配合,你很快就会明白。

在例子中,我们使用Google提供的DataBinding技术来完成数据绑定,以实现VIEw和viewmodel层的交互。

【 总结

以上是内存溢出为你收集整理的一篇文章彻底弄懂Android-MVVM全部内容,希望文章能够帮你解决一篇文章彻底弄懂Android-MVVM所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1041441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存