MVP MVC MVVP AOP 框架

Android App整体架构设计的思考

偶尔善良 提交于 2019-12-10 06:19:53
本文是对我在知乎一个回答的整理,其中的内容大多是对我平时的阅读和实践的总结,希望对 Android 的开发者有所帮助。但毕竟是个人的一些思考,难免有疏漏,也欢迎对本文的内容提出建议。 1. 架构 设计的目的 对程序进行架构设计的原因,归根到底是为了提高生产力。通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合。这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试以及定位问题。但设计不能违背目的,对于不同量级的工程,具体架构的实现方式必然是不同的,切忌犯为了设计而设计,为了架构而架构的毛病。举个简单的例子,一个Android App如果只有3个 Java 文件,那只需要做点模块和层次的划分就可以,引入框架或者架构反而提高了工作量,降低了生产力。但我当前开发的App最终代码量应该在10W行以上,本地需要进行复杂操作,同时也需要考虑到与其余的Android开发者以及后台开发人员之间的同步配合,那就需要在架构上进行一些思考。 2. 基于MVP的架构设计思路 在App开发过程中,经常出现的问题就是某一部分的代码量过大,虽然做了模块划分和接口隔离,但也很难完全避免。从实践中看到,这更多的出现在UI部分,也就是Activity里。我曾见过2000+行以上基本不带注释的Activity,那时我的第一反应就是想吐