Android 好的架构

Android good architecture

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

我用 VIPER 和一般的 Clean Architecture 方法进行了几次实验,但我想从你们亲爱的 SO 研究员那里得到一些好的 material/ideas 来进行调查。

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

  1. 它应该有助于在典型的单个 activity/multiple 片段应用程序中处理 routing/navigation

  2. 应该明确区分哪些 components/layers 将 运行 在后台线程上,哪些在主线程上并在层之间进行通信(观察者模式、事件总线或其他)

  3. 它使用了有限数量的第三方库,如果确实如此,请指出优缺点(例如 Dagger for Dependency Injection)

  4. 它有助于在长 运行 而 adapting/extending 应用程序上保持正交性。一个模块的变化应该会影响最少的组件数量而不会产生级联效应,因为组件是大腿耦合的。

  5. 在 github 或任何地方看看真正的 examples/prototypes 会很棒,以保持它的真实性和实用性,而不是在学术方面太多;-)

在此先感谢您的精彩 ideas/patterns

你可以使用 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-consuming-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/

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