MVVM

    MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。iOS中,大部分的架构都是使用MVC,但随着功能的增加、代码的维护,使得更多的代码都放在Controller中,这样显得Controller非常臃肿,维护起来也麻烦,因此衍生出了MVVM架构来给Controller瘦身。
  • Model层:请求的原始数据;
  • View层:视图展示,由ViewController来控制;
  • ViewModel层:负责业务处理和数据转化;

MVVM的架构模式:

 ![以下这张图可以简单概括](https://img-blog.csdnimg.cn/20181126215502405.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMzNjMzNjM=,size_16,color_FFFFFF,t_70)

MVVM的优点

  • 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变;
  • 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑(备注:这里ViewModel是轻量级的,非一个大模块);
  • 由于控制器的功能大都移动到View上处理,大大的对控制器进行了瘦身。

MVVM的缺点

  • 数据绑定使得 Bug 很难被调试;
  • 一个大模块中,model也会很大,虽然使用方便了很容易保证了数据的一致性,当长期持有,不释放内存,就造成了花费更多的内存;

总结

   在MVVM模式中打造 一个轻量级的ViewController进行代码职责的分离。这样他的低耦合性,封装性,可测试性,可维护性和多人协作便利才能大大提高了开法效率。
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值