当前位置: 首页 > article >正文

B站直播模块解读——MVVM类似物

Model层:

数据类及其Converter

Service接口+lmpl实现类 

(1)Scoket广播接受服务端下发数据

或在repository类中还是利用Socket广播

(2)业务接口接收服务端下发数据

将所有Service实现类注入LiveAppServiceManager统一管理


ViewModel层:

ViewModel从LiveAppServiceManager获取多个Service对象

定义Livedata

调用Service为Livedata赋值

调用Service的回调方法,数据传入serviceImpl去处理

提供外部改变livedata数据的方法

事件总线订阅接收数据


View层:

通过rootViewModel.getViewModel()获取对应ViewModel对象

View可获取多ViewModel

在视图层监听ViewModel中livedata的变化,对View设置对应响应


http://www.kler.cn/a/402561.html

相关文章:

  • C++ 单例模式的实现示例与相关疑问
  • Vue进阶面试题目(一)
  • React 常见问题解答:设置、安装、用户事件和最佳实践
  • webpack配置和打包性能优化
  • Django实现智能问答助手-数据库方式读取问题和答案
  • 身份证实名认证API接口助力电商购物安全
  • 微软在Ignite 2024发布Copilot+新功能
  • 深度学习是什么?
  • 抽象工厂方法模式
  • 谈一下开源生态对 AI人工智能大模型的促进作用
  • 微信小程序上传微信官方审核流程(1)
  • 【C++融会贯通】哈希表的使用
  • ROS VRRP软路由双线组网方式
  • 全自动PPT转视频解决方案:PPT + TTS + 自动化处理
  • 深度学习之目标检测的常用标注工具
  • 基于CNN+RNNs(LSTM, GRU)的红点位置检测(pytorch)
  • CentOS:A服务器主动给B服务器推送(上传),B服务器下载A服务器文件(下载)
  • javaScriptBOM
  • jquery还有其应用场景,智慧慢慢地被边缘化,但不会消亡
  • 无尽梦回公测 低配置手机如何玩无尽梦回?手机发烫内存不足玩无尽梦回攻略
  • 前端面试(2024/10/30,10/31,11/6)
  • PFC和LLC市场方案学习笔记
  • 【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩
  • 用源码编译虚幻引擎,并打包到安卓平台
  • 云计算实训室建设的必要性
  • 如何使用docker、挂载数据,以及让docker使用宿主机器的GPU环境