MVVM

157 阅读2分钟
首先,我们先来抛出几个大问题 >- -<

一 : 什么是MVVM?

       MVVM---主要分为Model-View-ViewMode
                   通过数据劫持+发布订阅模式来实现

7f53deba1f9908bd028f2cc21783742e.jpeg

二 : 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 ,设计人员专注于view4.可测试性:ViewModel 的存在可以帮助开发者更好地编写测试代码。

五 :MVVM和MVC的区别是什么?

    MVVM即Model-View-ViewModel的简写 - 模型-视图-视图模型
    
    MVC是Model-View- Controller的简写 - 即模型-视图-控制器

726cd9d2a72efaa925f824dc13c89468.jpeg