联动 MVP:就算不用饿了么,也请不要错过这个库!

2019-05-09 19:47:10 +08:00
 KunMinX

由来

LinkageRecyclerView 是一款基于 MVP 架构开发的二级联动列表控件。它是因 “ RxJava 魔法师” 这个项目的需求而存在。

在最初寻遍了 GitHub 也没有找到合适的开源库(高度解耦、可远程依赖)之后,我决心研究参考现有开源项目关于二级联动的逻辑,并自己动手编写一个 高度解耦、轻松配置、可通过 maven 仓库远程依赖 的真正的第三方库。

LinkageRecyclerView 的个性化配置十分简单,依托于 MVP 的 “配置解耦” 特性,使用者无需知道内部的实现细节,仅通过实现 Config 类即可完成功能的定制和扩展。

此外,在不设置自定义配置的情况下,LinkageRecyclerView 最少只需一行代码即可运行起来。

| RxMagic | Eleme Linear | Eleme Grid | | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | | | | |

目标

LinkageRecyclerView 的目标是:一行代码即可接入二级联动列表

除了一键接入而省去 99% 不必要的、复杂的、重复的工作外,你还可以从这个开源项目获得的内容包括:

  1. 整洁的代码风格和标准的资源命名规范。
  2. MVP 架构在第三库中的最佳实践:使用者无需了解内部逻辑,通过实现接口即可轻松完成个性化配置
  3. 优秀的代码分层和封装思想,在不做任何个性化配置的情况下,一行代码即可接入。
  4. 主体工程基于前沿的、遵循关注点分离的 JetPack MVVM 架构。
  5. AndroidX 和 Material Design 2 的全面使用。
  6. ConstraintLayout 约束布局的最佳实践。
  7. 绝不使用 Dagger,绝不使用奇技淫巧、编写艰深晦涩的代码。

如果你正在思考 如何为项目挑选合适的架构 的话,这个项目值得你参考!

项目链接:https://github.com/KunMinX/LinkageRecyclerView

9110 次点击
所在节点    Android
5 条回复
agdhole
2019-05-09 19:56:03 +08:00
性能如何?
KunMinX
2019-05-09 20:34:01 +08:00
@agdhole

亲测 primary List 500 条、Secondary List 2500 条如诗般顺滑。

且二级联动的交互场景,适用于 Primary < 50 条, Secondary < 200 条的情况。若是超出了,那首先从设计层面上就失去二级联动的意义了,不妨另请高明。
KunMinX
2019-05-09 20:37:21 +08:00
为方便查看,名称中间已加了一个 - ,
项目链接已变为 : https://github.com/KunMinX/Linkage-RecyclerView
stdnull
2019-05-10 00:53:43 +08:00
道理我都知道 但是这个跟饿了么有啥关系?!?!?!
southsala
2019-05-10 10:32:12 +08:00
已 star,去年遇到过这种需求...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/562643

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX