flutter设计原理和响应式编程 - 草稿

关系:flutter框架使用响应式编程设计

响应式编程:专注于数据流和变化传递的异步编程范式

数据流:由一个发布者发布,一个/多个订阅者消费的数据元素序列

数据流流转方式:1 pull 订阅者向发布者索要数据 2 push 发布者向消费者主动推送数据

数据流交互的问题:1 发布者发送数据快,订阅者处理数据慢 2 发布者发送数据慢,订阅者消费数据快


解决方法:

异步处理,如果是同步,哪个快都会阻塞

1 背压(发布快):1.1 损失数据  1.2 缓存数据队列

注:背压的处理策略和观察者模式的策略一样,只是观察者由订阅者决定策略,背压由订阅者通知发布者降速,发布者决定策略。

2 非阻塞:订阅者无消息处理挂起,切换到其他任务

响应式流:背压非阻塞异步流处理标准倡议

为什么使用响应式:

1 响应式流:背压非阻塞异步流处理标准倡议

2 增强的观察者和迭代器模式

3 流模型 3.1 订阅者向发布者请求N个元素 3.2 发布者异步向订阅者发送M(0

4 pull模型和push模型动态切换,订阅者快(push),发布者快(pull)


flutter数据流管理

你可能感兴趣的:(flutter设计原理和响应式编程 - 草稿)