剖析iOS设计模式MVVM

设计模式MVVM的由来

众所周知,面向对象,是由面向过程演变而来,于是有了设计模式。客服端编程离不开MVC(model-view-controller)设计模式,由于复杂页面(如微博列表,存在用户表头,内容Cell存在多态及变高,多种操作交杂的情况) 把页面展示,及操作都放在ViewController里进行管理,势必造成ViewController非常庞大,难以阅读及驾驭,从而导致编程效率下降。于是衍生出MVC的很多变种,主要有
MVCS(view<->controller<->store<-model)/
MVP(model<->presenter<->conterller<->view),
MVVM(view<->controller<->viewModel<->model)

所以Controller在MVVM中,一方面负责View和ViewModel之间的绑定,另一方面也负责常规的UI逻辑处理。通常较复杂页面使用MVVM,比如变高,多态的列表。

用RAC实现MVVM架构里的登录页面

实现分析

  • 1、ViewModel使用组合信号订阅组合信号
  • 2、Controller绑定视图和相关属性,发送命令
  • 3、相关代码demo

剖析MVVM

参考1参考2参考3

从MVC到MVVM(瀑布流)

请添加图片描述
MVVM实际上就是将业务逻辑从C中抽离,C只负责添加V,并把让VM处理视图相关显示数据,是给C瘦身。
可以查看对比瀑布流的MVC和MVVM模式的不同demo,具体领会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

群野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值