标签:
这些经验没有经过系统性的梳理,想到哪就写到哪吧:
1.Android开发的MVC模式,或者MVVM模式
客户端开发,主要工作是界面及逻辑,如果界面相关的代码和逻辑相关的代码耦合太多,很不容易重构,在美团这一个月来,大家基本形成了一套行之有效的开发范式,
即界面元素如果不需要生命周期的话,一律已自定义view来实现,如果需要生命周期,则用fragment来实现。
1.Activity是界面的容器,负责界面的创建,刷新,不要在Activity中做过多的逻辑。对于Activity之间的跳转处理请放到Activity中
2.对于界面的主要数据,封装成对应的Bean Model,便于参数在Activity之间的传递,或者与网络的交互
3.界面和数据之间采用loader的异步加载来完成。
2.Android的网络访问
美团之前采用loader加上同步网络访问来完成,现在主要用retrofit,rxjava和loader来配合,数据的本地缓存模拟http的cache机制
3.gradle
美团采用业务分拆的方式进行同步开发,每个业务独立成一个business library工程,对于框架和公共基础类各自独立成base library和common library,这样做的
好处是各个业务小组之间的依赖较少可以协同开发,缺点是,存在部分的资源冗余和代码冗余(对于开发效率的提升来说,这部分是可以接受的)。
gradle可以满足这样的工作模式,因为gradle和maven类似,对其依赖的库有版本的区别,这样不同的小组可以自行决定自身所需版本。基于ant的编译模式不能很好的
满足。
标签:
原文地址:http://www.cnblogs.com/lotusJade/p/4859049.html