java – Android好架构

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

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

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

>它应该有助于处理典型的单个活动/多个片段应用程序中的路由/导航
>它应该明确区分哪些组件/层将在后台线程上运行,哪些组件/层在主线程上运行以及在层之间进行通信(观察者模式,事件总线或其他)
>它使用有限数量的第三方库,如果确实如此,请说明优缺点(例如Dagger for Dependency Injection)
>从长远来看,它有助于保持正交性,同时适应/扩展应用程序.一个模块的更改应该影响最小的组件数量而不会产生级联效应,因为组件是大腿耦合的.
>看看github上的真实示例/原型,或者在学术方面没有太多的情况下保持真实和实用,这将是很棒的;-)

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

最佳答案 你可以使用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/

有很多事情需要改进,但我认为你可以帮助开始,这个项目尚未完成,我很抱歉.

点赞