函数响应式编程

# 函数响应式编程

开始之前了解一下什么是函数响应式编程

函数响应式编程是种编程范式。它是通过构建函数操作数据序列,然后对这些序列做出响应的编程方式。它结合了函数式编程以及响应式编程

函数式编程

函数式编程---它需要我们将函数作为参数传递,或者作为返回值返还。我们可以通过组合不同的函数来得到想要的结果。

allPeople.filter{ people in people.age == 18 }.forEach { youngPeople in youngPeople.play(activity: .study )}

filter中返回值是people 是经过筛选的people  数组形式

个人在日常开发中用遇到的的就是函数式编程(链式调用) 就如在统计相关信息上传的时候 参数比较多

        ```statistics.name(hello).info(info).upload()```

函数式编程来操作序列

响应式编程

响应式编程(reactive programming)是一种基于数据流(data stream)和变化传递(propagation of change)的声明式(declarative)的编程范式。

现在学习的RxSwift中响应式编程来一个预理解:应该是 有并发和事件驱动结合观察者来编程的一种范式或者说是一种风格

Reactive响应式(反应式)编程 是一种新的编程风格,其特点是异步或并发、事件驱动、推送PUSH机制以及观察者模式的衍生。

函数响应式编程(两者融合)

由以上两种的编程范式,结合起来就得到了函数响应式编程

函数式负责序列操作,响应式负责监听变化,响应这个序列。当然这个序列是具备着特别的封装(异步等)

我们通过不同的构建函数,来创建所需要的数据序列。最后通过适当的方式来响应这个序列。这就是函数响应式编程

// 按钮点击序列
let taps: Observable = button.rx.tap.asObservable()

// 每次点击后弹出提示框
taps.subscribe(onNext: { showAlert() })

你可能感兴趣的:(函数响应式编程)