草庐IT

现成的MVI框架——mavericks

前言Android架构演变:MVC、MVP、MVVM、MVI。新技术层出不穷,架构一天一个样。像我这种懒惰又不自律的人,能学习上最新的技术,就已经佩服我自己了。所以造轮子是不可能造轮子的,这辈子都不可能造轮子!于是乎我就在github上审阅各种轮子,默默的star,以备不时之需。这就是我和mavericks的缘分。废话已毕,下面我们开启正文。文章提纲mavericks是什么?mavericks怎么用?mavericks配合其他库使用mavericks是什么?mavericks是Airbnb技术团队开源的符合MVI架构的技术方案。Github地址据我了解Airbnb这家公司还是很牛叉的,所以这种

现成的MVI框架——mavericks

前言Android架构演变:MVC、MVP、MVVM、MVI。新技术层出不穷,架构一天一个样。像我这种懒惰又不自律的人,能学习上最新的技术,就已经佩服我自己了。所以造轮子是不可能造轮子的,这辈子都不可能造轮子!于是乎我就在github上审阅各种轮子,默默的star,以备不时之需。这就是我和mavericks的缘分。废话已毕,下面我们开启正文。文章提纲mavericks是什么?mavericks怎么用?mavericks配合其他库使用mavericks是什么?mavericks是Airbnb技术团队开源的符合MVI架构的技术方案。Github地址据我了解Airbnb这家公司还是很牛叉的,所以这种

【Android 架构之 MVI 完全体】 就MVVM 来说关于PartialChange & Reducer

引子在上一篇中,用MVI重构了“新闻流”这个业务场景。本篇在此基础上进一步拓展,引入MVI中两个重要的概念PartialChange和Reducer。假设“新闻流”这个业务场景,用户可以触发如下行为:初始化新闻流上拉加载更多新闻举报某条新闻在MVVM中,这些行为被表达为ViewModel的一个方法调用。在MVI中被称为意图Intent,它们不再是一个方法调用,而是一个数据。通常可被这样定义:sealedclassFeedsIntent{dataclassInit(valtype:Int,valcount:Int):FeedsIntent()dataclassMore(valtimestamp:

【Android 架构之 MVI 完全体】 就MVVM 来说关于PartialChange & Reducer

引子在上一篇中,用MVI重构了“新闻流”这个业务场景。本篇在此基础上进一步拓展,引入MVI中两个重要的概念PartialChange和Reducer。假设“新闻流”这个业务场景,用户可以触发如下行为:初始化新闻流上拉加载更多新闻举报某条新闻在MVVM中,这些行为被表达为ViewModel的一个方法调用。在MVI中被称为意图Intent,它们不再是一个方法调用,而是一个数据。通常可被这样定义:sealedclassFeedsIntent{dataclassInit(valtype:Int,valcount:Int):FeedsIntent()dataclassMore(valtimestamp:

Android 架构之 MVI 完全体 | 重新审视 MVVM 之殇,PartialChange & Reducer 来拯救

这是MVI架构的第三篇,系列文章目录如下:Android架构之MVI雏形|响应式编程+单向数据流+唯一可信数据源Android架构之MVI初级体|Flow替换LiveData重构数据链路Android架构之MVI完全体|重新审视MVVM之殇,PartialChange&Reducer来拯救Android架构之MVI究极体|状态和事件分道扬镳,粘性不再是问题其中第一篇剖析了MVI的概念,第二篇是MVI在项目实战中的初级应用,而这一篇将重构上篇的代码,以展示MVI的完全体。MVI架构有三大关键词:“唯一可信数据源”+“单向数据流”+“响应式编程”,以及一些关键概念,比如Intent,State。理

Android 架构之 MVI 完全体 | 重新审视 MVVM 之殇,PartialChange & Reducer 来拯救

这是MVI架构的第三篇,系列文章目录如下:Android架构之MVI雏形|响应式编程+单向数据流+唯一可信数据源Android架构之MVI初级体|Flow替换LiveData重构数据链路Android架构之MVI完全体|重新审视MVVM之殇,PartialChange&Reducer来拯救Android架构之MVI究极体|状态和事件分道扬镳,粘性不再是问题其中第一篇剖析了MVI的概念,第二篇是MVI在项目实战中的初级应用,而这一篇将重构上篇的代码,以展示MVI的完全体。MVI架构有三大关键词:“唯一可信数据源”+“单向数据流”+“响应式编程”,以及一些关键概念,比如Intent,State。理