java Android良好的体系结构
我对探索Android应用程序的良好架构模式感兴趣
我用VIPER和一般干净的建筑方法做了几次实验,但我想从你们那里得到一些好的材料/想法,亲爱的SO同学们
以下是一些需要反映的要点:
它应该有助于在典型的单活动/多片段应用程序中处理路由/导航
它应该清楚地区分哪些组件/层将在后台线程上运行,哪些在主线程上运行,并在层之间进行通信(观察者模式、事件总线或其他任何形式)
它使用的第三方库数量有限,如果使用了,请说明利弊(例如,用于依赖注入的Dagger)
从长远来看,它有助于保持正交性,同时适应/扩展应用程序。一个模块中的更改应影响最小数量的组件,而不会产生级联效应,因为组件是大腿耦合的
如果能在github或其他任何地方查看真实的示例/原型,以保持它的真实性和实用性,同时又不至于过于学术化,那将是一件很棒的事情;-)
提前感谢您提出的任何好主意/模式
# 1 楼答案
你可以使用MVP+存储库模式,我在我的项目中使用它,代码更干净,松散耦合,有很好的分离层。您可以将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/
有很多事情需要改进,但我认为你能帮助开始,这个项目尚未完成,我很抱歉