首先,我们先来抛出几个大问题 >- -<
一 : 什么是MVVM?
MVVM---主要分为Model-View-ViewMode
通过数据劫持+发布订阅模式来实现
二 : MVVM是做什么的?
1.Model:它具体代表的是数据的模型,可以使我们在定义数据修改和操作后的业务逻辑处理.
2.View:通俗来说就是用户所看到的视图(ui组件)
3.ViewModel:主要关注于我们的数据与业务的处理,不涉及(不关心)到我们的View是如何处理数据的,
更好的使我们的View和Model各自独立出来,在任何一方改变的时候,不一定涉及到
修改影响另一方,并且更高效的将一些可复用的逻辑存放于ViewModel中去,从而可以
更好的使多个View复用当前单个的ViewModel。
三 : MVVM实现的原理是什么,谈谈您的理解?
mvvm 的核心是:
1.数据劫持
2.数据代理
3.数据编译和" + 发布订阅模式"。
四 : MVVM优点与缺点分别是什么?
缺点:
1.bug难以调试(修改),因为数据双向绑定的原因,不确定bug具体出现在View中还是Model中难以确定
2.一个较大的模块中的model可能会很大,长期保存于内存中会影响到性能.
3.对于大型的图形应用程序中,视图的状态越多,viewModel的构建与维护的成本将回随之增高.
优点:
1.低耦合性:view和model没有钱直接的关系,它们是通过viewModel来完成数据双向绑定的.
2.可复用性:组件可以重复使用、可以把一个数据逻辑放到viewModel中去,
可以使多个view来共用(重复使用)
3.独立开发:开发人员专注于 viewModel ,设计人员专注于view。
4.可测试性:ViewModel 的存在可以帮助开发者更好地编写测试代码。
五 :MVVM和MVC的区别是什么?
MVVM即Model-View-ViewModel的简写 - 模型-视图-视图模型
MVC是Model-View- Controller的简写 - 即模型-视图-控制器