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

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

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

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

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

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


解决方法:

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

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

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

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

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

为什么使用响应式:

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

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

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

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


flutter数据流管理

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容