Android 开发有什么好的架构么?
关注者
2,371被浏览
428,44354 个回答
现在很厉害的
GitHub - googlesamples/android-architecture: A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.—————以前很厉害的———————————
最近正在学习
google/iosched · GitHub,Google出品,异曲同工,比下面原答案更易学,更优雅。
:)
这个是我们团队一直推崇而且现在正在使用的架构
android10/Android-CleanArchitecture · GitHub说说用下来的优缺点,如有纰漏,还请指正。
无论从架构还是代码上看,分层都是三层:视图层(Presentation Layer)、控制层(Domain Layer)、数据流层(Data Layer)。
层级之间通过添加接口层作为分隔实现解耦。
简单来说,优点有以下
1.层次分明,各层级之间都不管对方如何实现,只关注结果;
2.在视图层(Presentation Layer)使用MVP架构,使原本臃肿的Activity(或Fragment)变得简单,其处理方法都交给了Presenter。
3.易于做测试,只要基于每个模块单独做好单元测试就能确保整体的稳定性。
4.易于快速迭代,基于代码的低耦合,只需在业务逻辑上增加接口,然后在相应的层级分别实现即可,丝毫不影响其他功能。
....等等
目前发现的缺点:
1.由于视图层(Presentation Layer)使用MVP模式,每个有独立逻辑的Activity(Fragment)都拥有独立的Presenter,当View多起来时候Presenter维护起来就显得略麻烦
2.上手难度比较大,学习曲线比较陡峭
推荐阅读
http://fernandocejas.com/https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html网上真的很少有人出来讲Android的架构或重构,所以我打算将自己的经验总结分享出来。有兴趣的也可看看,一起讨论: