公司的架构一直都是MVC,其主要控制器有超过2000行不止,而MVVM其实就是MVC的进化版,将一些业务逻辑解耦到ViewModel,从而减轻控制器的“压力”。
RAC的信号机制很容易将某一个Model变量的变化与界面关联,所以非常容易应用Model-View-ViewModel。通过引入ViewModel层,然后用RAC将ViewModel与View关联,View层的变化可以直接响应ViewModel层的变化,这使得Controller变得更加简单,由于View不再与Model绑定,也增加了View的可重用性。
RAC的编程方式和传统的MVC方式差异巨大,所以需要较长的学习时间。并且,业界内对于RAC并没有广泛应用,这造成可供参考的项目和教程比较欠缺。 另外,RAC项目本身也还在快速演进当中,1.x版本和2.x版本API改动了许多,3.0版本也正在快速开发中,对它的使用也需要考虑后期的升级维护问题。
作为一个iOS开发领域的新开源框架,ReactiveCocoa带来了函数式编程和响应式编程的思想,值得大家关注并且学习。
本人由于初学MVVM设计模式,强力推荐王隆帅大神的这篇文章 iOS MVVM+RAC 从框架到实战
简单用MVVM+RAC写了豆瓣电影列表界面,github链接:Demo
如有不足之处还请各位大神批评指正!
还有一些比较不错的RAC初学资料在此分享给大家:
网友评论