响应式编程总结

响应式编程关注的是变化及其传播。

响应式编程的着重点在于响应,即对变化做出的反应。

它的要素有四个:

1、数据拥有方;

2、数据使用方;

3、传播机制;

4、传播(处理)链条。

响应式编程的特征:

是数据拥有方向外部传播数据的变更,还是数据使用方接收到数据变化信号后从数据提供方获取数据;

数据的流通是通过set激发传播,还是get激发获取;

数据的提供方push,还是数据的使用方pull;

数据的使用方是被动等待数据,还是主动获取数据。

数据是通过函数的参数链传播,还是通过函数的返回值返回;

数据传播所形成的函数栈是以数据提供方为基础构建,还是以数据使用方为基础构建。

响应式编程的计算结果:

响应式编程由自变量的变化触发因变量的计算,所以因变量任何时候的值都有自变量和算法决定;

其它的方式,因变量依赖与自变量的瞬间状态。

响应式编程与流式编程:

流式编程天然具有响应式编程的特征。

响应式编程的机制:

本质上是一种订阅发布机制。

响应式编程的本质是提供一种机制,在数据和信息发生变化时,数据提供方能够很容易的将变化发布出去。

通常这种机制有编程语言、运行环境、编译器等提供支撑。

响应式编程机制的案例:

1、订阅发布机制;

2、事件分发机制;

3、通知机制;

4、kvo机制。

5、通信的流机制。

响应式编程与函数式编程;

函数式编程天然具有响应式编程信息处理链的特征。

响应式编程的优点:

减少回路。

原文地址:https://www.cnblogs.com/feng9exe/p/8668705.html

时间: 2024-11-01 10:34:17

响应式编程总结的相关文章

Unity基于响应式编程(Reactive programming)入门

系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画 时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率 背景 前有慕容小匹夫的一篇<解构C#游戏框架uFrame兼谈游戏架构设计&

RAC响应式编程

RAC响应式编程开源地址:https://github.com/ReactiveCocoa/ReactiveCocoa# 作者 cbsfly_iDev 2016.01.04 21:06* 写了13984字,被134人关注,获得了134个喜欢 学习RAC小记-适合给新手看的RAC用法总结 字数1855 阅读4287 评论4 喜欢33 最近叶大直播写代码,我也做点小笔记. 什么是RAC? 几乎每一篇介绍RAC的文章开头都是这么一个问题.我这篇文章是写给新手(包括我自己)看的,所以这个问题更是无法忽视

深入浅出iOS函数式编程与响应式编程概念

简介 本篇文章主要回顾一下——iOS函数式编程 && 响应式编程概念,如何一步步实现函数式编程的过程,对阅读Masonry && SnapKit源码有一定的帮助. 图片描述 作为一个iOS 开发者,那么你一定用过Masnory/ SnapKit: Masonry是一个OC开发中,非常好用的自动布局的第三方框架: SnapKit是Masonry团队打造的Swift版本的自动布局框架: 如果你没有用过,在自动布局中用的是苹果原生的或者原生的升级版VFL语言,那我只好为你点“赞”

[译] Swift 的响应式编程

原文  https://github.com/bboyfeiyu/iOS-tech-frontier/blob/master/issue-3/Swift的响应式编程.md 原文链接 : Reactive Swift 原文作者 : Agnes Vasarhelyi 译文出自 : 开发技术前线 www.devtf.cn 译者 :Mr.Simple 校对者:Lollypo 状态 : 完成 让我们首先回到Apple刚推出Objective-C的继任者-Swift的时候,那真是一个非比寻常的时刻. Sir

什么是函数响应式编程(Java&amp;Android版本)

什么是函数响应式编程(Java&Android版本) 原文链接:http://www.bignerdranch.com/blog/what-is-functional-reactive-programming/ 函数响应式编程(FRP)为解决现代编程问题提供了全新的视角.一旦理解它,可以极大地简化你的项目,特别是处理嵌套回调的异步事件,复杂的列表过滤和变换,或者时间相关问题. 我将尽量跳过对函数响应式编程学院式的解释(网络上已经有很多),并重点从实用的角度帮你理解什么是函数响应式编程,以及工作中

IOS响应式编程框架ReactiveCocoa(RAC)使用示例

ReactiveCocoa是响应式编程(FRP)在IOS中的一个实现框架,它的开源地址为:https://github.com/ReactiveCocoa/ReactiveCocoa# :在网上看了几篇文章,感觉理论讲了很多,但是代码还是看不太懂,于是自己把它github文档上的一些使用的经典示例实现了一下,项目中有需要时可以直接搬过去用,用的熟练了再读源码也比较容易理解. 例1. 监听对象的成员变量变化,当成员变量值被改变时,触发做一些事情. 这种情况其实就是IOS KVO机制使用的场景,使用

IOS开发之OC篇-响应式编程Reactive Cocoa

一.Reactive Cocoa 介绍 Reactive Cocoa 是 iOS 开发的一个 "重量级" 框架 高大上的概念:响应式编程 核心概念:信号 Signal 官方网站:https://github.com/ReactiveCocoa/ReactiveCocoa 二.相关概念 1> 响应式编程 举个栗子,在一般程序开发时  a = b + c , 赋值之后 b 或者 c 的值变化后,a 的值不会跟着变化, 如果使用响应式编程,目标就是,如果 b 或者 c 的数值发生变化,

ReactiveCocoa -函数式编程和响应式编程

RAC具有函数式编程和响应式编程的特性.它主要吸取了.Net的 Reactive Extensions的设计和实现. ReactiveCocoa试图解决什么问题 ReactiveCocoa试图解决以下3个问题: 传统iOS开发过程中,状态以及状态之间依赖过多的问题 传统MVC架构的问题:Controller比较复杂,可测试性差 提供统一的消息传递机制 统一消息传递机制 iOS开发中,每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过

使用ReactiveCocoa实现iOS平台响应式编程

使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Programming,响应式编程),在维基百科中有这样一个例子介绍: 在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a.但在响应式编程中,a的值会随着b或c的更新而更新. Excel就是响应式编程的一个例子.单元格可以包含字面值或类似"=B1+C1″的公式,

函数响应式编程(FRP)思想

序 ReactiveCocoa是IOS广为使用的技术框架,而ReactiveCocoa的核心思想就FRP.FRP不同于JAVA的object-oriented和AOP,FRP能让你的代码像数学一样简洁,业务像流水一样清晰流畅. 函数响应式编程 响应式编程思想为体,函数式编程思想为用. 响应式编程 例如,在命令式编程环境中, a:=b+c表示将表达式的结果赋给 a,而之后改变 b 或 c的值不会影响 a.但在响应式编程中,a的值会随着 b或 c的更新而更新. 在响应式编程当中,a:=b+c声明的是