菜鸟iOS 开发之MVC MVVM ReactiveCocoa

iOS标准MVC 

M: Model逻辑处理计算层 程序的行为

C:Controller   控制模型如何显示在View上 控制View如何工作

V:View   视图界面

C -> M

C -> V

M  <≠> V

V -> C  不能直接通信! action - target 或者should did will 通过delegate完成 protocol 和datasource

V->M  不能直接通信! 通过Notification&KVO进行通信 

永远不要在Model层添加import UIKit




MVVM  现在流行的开发模式(我也正在学,新的东西总装B)

  1. MVVMMVC模式的一个变种,它正逐渐流行起来
  2. MVVM模式让View层代码变得更清晰,更易于测试
  3. 严格遵守View=>ViewModel=>Model这样一个引用层次,然后通过绑定来将ViewModel的更新反映到View层上。
  4. ViewModel层决不应该维护View的引用
  5. ViewModel层可以看作是视图的模型(model-of-the-view),它暴露属性,以直接反映视图的状态,以及执行用户交互相关的命令。
  6. Model层暴露服务。
  7. 针对MVVM程序的测试可以在没有UI的情况下运行。
  8. ReactiveCocoa框架提供强大的机制来将ViewModel绑定到View。它同时也广泛地使用在ViewModelModel层中。
上面的是复制的。


MVVM的好处(也是复制的)

  1. 轻量的视图:所有的UI逻辑都在ViewModel中。
  2. 便于测试:我们可以在没有视图的情况下运行整个程序,这样大大地增加了它的可测试性。
标准的MVVM   起初应该是微软推广的在.net 下使用的



ReactiveCocoa(也就是响应式编程所需的库,直接pod导入就可以用)

这东西的简介网上一搜一大堆,就不细说了,
就是响应式编程,
主要是用信号和管道,
可以省掉很多代码,基本告别target ,下面的小demo做了就知道了,很酷炫
而且层次感很强,
最主要的,代码感觉很高端,很唬人,其实就那么回事,专业辅助MVVM 

在我看来,这两个真是绝配了

给个实践的demo练习
http://southpeak.github.io/blog/2014/08/02/reactivecocoazhi-nan-%5B%3F%5D-:xin-hao/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值