
Android 架构之 MVI 究极体 | 状态和事件分道扬镳,粘性不再是问题
引子该系列基于“新闻流”进行 MVI 架构改造。在该业务场景中,界面可以发出 3 种意图,分别是1. 初始化新闻流 2.上拉加载更多新闻 3. 举报新闻。MVI 框架中用“单向数据流”来理解界面刷新。数据流的起点是界面发出的意图(Intent),意图流入 ViewModel 持有的 Flow。数据流...

Android 架构之 MVI 完全体 | 重新审视 MVVM 之殇,PartialChange & Reducer 来拯救
MVI 架构有三大关键词:“唯一可信数据源”+“单向数据流”+“响应式编程”,以及一些关键概念,比如Intent,State。理解这些概念之后,能更轻松地阅读本文。(强烈建议从第一篇开始阅读)引子在上一篇中,用 MVI 重构了“新闻流”这个业务场景。本篇在此基础上进一步拓展ÿ...

Android 架构之 MVI 初级体 | Flow 替换 LiveData 重构数据链路(下)
lifecycleScope刚才是在lifecycleScope收集新闻流的,它是一个和生命周期对象绑定的协程域:public val LifecycleOwner.lifecycleScope: LifecycleCoroutineScope get() = lifecycle.coroutine...
Android 架构之 MVI 初级体 | Flow 替换 LiveData 重构数据链路
引子这也是《如何将业务代码越写越复杂》系列的第二篇。上一篇用实战代码演绎了 Feeds 流场景下,业务层代码如何从 “无架构” 到 “MVP” 再到 “MVVM”,并使用LiveData承载整个数据链路。这一篇尝用 Kotlin Flow 替换掉 LiveData,看看会发生些什么变化及遇到哪些问题...

Android 架构之 MVI 雏形 | 响应式编程 + 单向数据流 + 唯一可信数据源(下)
响应式编程响应式编程是相对于命令式编程来说的。命令式编程就是“叫你做一件事情,做完之后,就没有然后了”,比如:val a = 1 val b = 2 var c = a + b // 3 a = 2 b = 2 当 c = a + b 执行完毕之后,c 的值就定格...
Android 架构之 MVI 雏形 | 响应式编程 + 单向数据流 + 唯一可信数据源
引子MVI 是Model-View-Intent的简称,它们分别表示。。。。。我并不打算逐个字母介绍它们代表的意思。因为这样一点也不能增进对 MVI 的理解,反而会对它的认识蒙上厚厚的一层迷雾。奥古斯都在《忏悔录》里面问我这样一个问题:“时间到底是什么?你不问我的时候,我是知道的;你一问我,我就不知...
Android Jetpack系列之MVI架构
写在前面在之前介绍MVVM的文章中,介绍了常用的MVC、MVP、MVVM架构及其对MVVM的封装使用,其中MVVM的主旨可以理解为数据驱动:Repository提供数据,ViewModel中发送数据,UI层使用的LiveData订阅数据,当有数据变化时会主动通知UI层进行刷新。有兴趣的可以去看一下:...

Jetpack 系列(5)—— Android UI 架构演进:从 MVC 到 MVP、MVVM、MVI
1. MVCMVC 其实是 Android 默认的设计,MVC 里将代码分为三个部分:View: Layout XML 文件;Model: 负责管理业务数据逻辑,如网络请求、数据库处理;Controller: Activity 负责处理表现逻辑。MVC 初步解决了 Activity 代...

Android MVI 架构:从双向绑定到单向数据流
现在从事Android开发多少都要懂点架构知识,从MVC、MVP再到MVVM,想必大家对于其各自的优缺点早已如数家珍。今天介绍的MVI与MVVM非常接近,可以针对性地弥补MVVM中的一些缺陷何为MVI?MVI即Model-View-Intent,它受Cycle.js前端框架的启发,提倡一种单向数据流...
更新时间 2023-05-30 18:01:49
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
产品推荐
社区圈子