[Jetpack] 人生苦短,让脚手架为你节省时间

5 篇文章 1 订阅
4 篇文章 0 订阅

温馨提示:
本文以《让人耳目一新的 Jetpack MVVM 精讲》作为前置知识的铺垫,假定小伙伴们在阅读本文前 已对精讲篇的内容有了一定理解。

背景

人,不是机器,人注定会犯错。

尤其是在 多人协作的软件工程背景下 快速版本迭代的时候。

有限的注意力应始终放在刀刃上,因而那些机械重复的模板代码,应在后台自己默默安排好一切、免除因各种手工操作的失误 而造成的不可预期的后果

脚手架项目应运而生。

 

架构图总览

脚手架项目不仅仅是我一个人的创作,也是集许许多多优秀开发者参与演化的结果。

该项目主要包含 表现层、领域层、数据层 三层:

在这里插入图片描述

脚手架项目有 3 宝。考虑到 “按需” 选用的原则,现已抽取为 “依赖库” 独立维护。

  • 福利 1:DataBinding 严格模式

GitHub:Strict-DataBinding

  • 福利 2:UnPeekLiveData 发送一次性事件

GitHub:UnPeek-LiveData

  • 福利 3:Smooth-Navigation 使转场顺滑

GitHub:Smooth-Navigation

  • 通过 Request 来复用转发逻辑

  • 通过 UseCase 管理可叫停的业务

  • 通过 DataResult 回调数据层结果

考虑到本文的目标主要是分享项目,如对具体的设计缘由感兴趣,可参见源码中注释的解析,此处不做累述。

 

综上

任何技术的存在,都是旨在特定背景下解决特定问题,架构模式也不例外。

透过过去一年的开源和对高频场景的总结,我们已为 “页面开发” 场景下存在的高频隐患提供了 “相应解”。

随着背景因素的不断变化,技术亦处于不断的发展中,因而《GitHub:Jetpack MVVM 脚手架》仍朝着趋于成熟的方向不断完善。

今后如在个人项目中 用到了该脚手架项目的依赖库,可随时在 issue 区提供项目信息,如此可以让更多的开发者 有机会认识你的开源作品

GitHub:Jetpack MVVM 脚手架

 

谁在使用

刚刚在 GitHub 看到有小伙伴基于《脚手架》项目的架构设计重构了多个项目,感兴趣的小伙伴可前往查阅 😉

GitHub - Jetpack开发短视频应用实战 - 重构

GitHub - 仿网易云音乐安卓客户端 - 重构

 

版权声明

本文以 CC 署名-非商业性使用-禁止演绎 4.0 国际协议 发行。

Copyright © 2019-present KunMinX

本项目是作为《重学安卓》专栏 Jetpack MVVM 系列文章的配套项目而存在,文章内容和项目中的代码设计均涉及本人对 Jetpack MVVM 的独家理解,本人对此享有所有权和最终解释权

当您借鉴或引用本文的引言、思路、结论进行二次创作,或全文转载时,须注明链接出处,否则我们保留追责的权利。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值