您的位置:首页 > 编程语言

链式(响应式)编程的简单理解

2016-03-25 00:56 302 查看
链式(响应式)编程的简单理解

1. 响应式编程定义(维基百科)

在计算机中,响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。

例如,在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中,a的值会随着b或c的更新而更新。

2 . 函数式编程是种编程范式

函数式编程
Functional Programming
,简写
FP


使用特点,将局部小的逻辑计算封装为一个个小的函数体,**在实际应用中将这些小的函数体
自由组合


可以接受函数当作输入(参数)和输出(返回值)

函数式编程的基础是
block
闭包


函数式编程的代表作品:
Masnory
/
SnapKit


例如:



参考资料:https://github.com/SnapKit/Masonry

3 .ReactiveCocoa框架

看到Masonry才感觉到链式编程思想的流的感觉,整个函数的表达式连贯性的,才知道一个重量级的框架Reactive Cocoa,

ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称。

官方网站:https://github.com/ReactiveCocoa/ReactiveCocoa

4 . RAC 的核心思想

所谓响应,就是 事件 发生后做出响应

我们所熟悉的iOS 开发中的事件包括:

Target,Delegate,KVO,通知,时钟,网络异步回调。

而 ReactiveCocoa ,就是用 信号 接管了 iOS 中的所有事件



4.1 利用 Block 将所有相关代码集中在一起,从一定程度上解决了代码分散的问题.

使用时需要注意循环引用,注册 rac_willDeallocSignal 信号能够跟踪对象是否被释放.

通过 KVO 监听,能够及时将模型数据变化体现在界面上



对于ReactiveCocoa是一套超重量级的核心框架,使用RAC解决问题,就不需要考虑调用顺序,直接考虑结果,把每一次操作都写成一系列嵌套的方法中,使代码高聚合,方便管理,还希望可以多加揣摩和学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios