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

链式(响应式)编程的简单理解
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解决问题,就不需要考虑调用顺序,直接考虑结果,把每一次操作都写成一系列嵌套的方法中,使代码高聚合,方便管理,还希望可以多加揣摩和学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值