4

我有兴趣探索 Android 应用程序的良好架构模式。

我用 VIPER 和一般的清洁架构方法做了几个实验,但我想从你们亲爱的 SO 研究员那里得到一些好的材料/想法来研究。

以下是一些应该反映的要点:

  1. 它应该有助于处理典型的单个活动/多个片段应用程序中的路由/导航

  2. 它应该清楚地区分哪些组件/层将在后台线程上运行,哪些在主线程上运行,以及在层之间进行通信(观察者模式、事件总线或其他)

  3. 它使用有限数量的第三方库,如果使用,请说明利弊(例如 Dagger for Dependency Injection)

  4. 从长远来看,它有助于在适应/扩展应用程序时保持正交性。一个模块的更改应该影响最少数量的组件,而不会产生级联效应,因为组件是大腿耦合的。

  5. 如果能在 github 或其他任何地方查看真实示例/原型以使其真实和实用,而不会在学术方面过多,那就太好了;-)

提前感谢任何很酷的想法/模式

4

1 回答 1

2

您可以使用 MVP + Repository 模式,我在我的项目中使用它,代码更干净,松散耦合,层分离良好。您可以将 Dagger 添加到依赖注入,将 RxAndroid 添加到异步任务。

这是我发现并帮助我学习此架构的最佳链接:

http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/

https://medium.com/android-news/android-architecture-2f12e1c7d4db#.bupsk0o2n

https://medium.com/@artem_zin/m-model-from-mvc-mvp-in-android-flow-and-mortar-bd1e50c45395#.uyij0tjgs

http://fahimk.github.io/2015/04/21/using-rxjava-with-mvp-to-handle-configuration-changes/

https://kmangutov.wordpress.com/2015/03/28/android-mvp-sumption-restful-apis/

https://github.com/sam33rdhakal/MVPandroid/tree/master/app/src/main/java/com/enepalichords/nepalichords

http://magenic.com/Blog/Post/6/An-MVP-Pattern-for-Android

您可以在上面的链接中找到代码,这是我用于学习目的的项目之一:

https://bitbucket.org/emaleavil/cheapshark/

有很多需要改进的地方,但我想你能帮助开始吗,这个项目还没有完成,我很抱歉。

于 2016-04-19T19:25:57.563 回答