重新规划Android项目的目录结构
来源:互联网 发布:遥感影像处理 知乎 编辑:程序博客网 时间:2024/06/05 00:18
有的开发人员喜欢将Activity,Fragment都放在一个Package下,并且没有分类,Adapter也是如此,还有的就是喜欢将Adapter内置在Activity,Fragment里面。这样开发,没有任何分类,显得杂乱无章。每当我看到他们这样写的时候,我看不下去,因为如果想优化哪个功能模块,这些页面是很难找到的,找起来费时费力,大大的降低开发效率,不利于项目的维护和优化。
接下来,我们需要重新规划Android项目的目录结构:(以AndroidFire项目为例)
第一步,项目组件化,模块化。是将整个App的各个业务分离,降低它们之间的耦合度,各个业务线可以由专门的开发同学进行开发,相互之间也不会有干扰,提升开发效率。
api:网络封装类和接口管理类。(可以继续分网络模块)
app:放Application
bean:放网络请求,结果回调或者界面传输的实体类,需要序列化。
db:数据库管理类(可以继续分数据库模块)
ui:放Activity,Fragment和Adapter等和界面有关的类,并且按照相应的功能分类(里面的分包,自己研究下)。
utils:一些工具类(可以提取出来放入common中)
widget:一些自定义控件(可以提取出来放入common中)
wxapi:一些和微信相关的类。
具体分包根据具体的业务逻辑划分,命名最好根据业务来命名。
这样划分是为了以下的三个目的:
1)每个文件都是单独的类,不要有嵌套类。
2)将Activity,Fragment按照功能模块划分,这样当需要优化时,可以快速定位到具体页面。
接下来,我们需要重新规划Android项目的目录结构:(以AndroidFire项目为例)
第一步,项目组件化,模块化。是将整个App的各个业务分离,降低它们之间的耦合度,各个业务线可以由专门的开发同学进行开发,相互之间也不会有干扰,提升开发效率。
这是AndroidFire项目
重构后的项目依赖关系
主模块分类
api:网络封装类和接口管理类。(可以继续分网络模块)
app:放Application
bean:放网络请求,结果回调或者界面传输的实体类,需要序列化。
db:数据库管理类(可以继续分数据库模块)
ui:放Activity,Fragment和Adapter等和界面有关的类,并且按照相应的功能分类(里面的分包,自己研究下)。
utils:一些工具类(可以提取出来放入common中)
widget:一些自定义控件(可以提取出来放入common中)
wxapi:一些和微信相关的类。
具体分包根据具体的业务逻辑划分,命名最好根据业务来命名。
这样划分是为了以下的三个目的:
1)每个文件都是单独的类,不要有嵌套类。
2)将Activity,Fragment按照功能模块划分,这样当需要优化时,可以快速定位到具体页面。
3)按照模块划分,每个开发人员只要负责好自己所开发的模块,这样不会和其他开发同学有业务上的冲突。
使用基类进行子类的统一管理,如BaseActivity,BaseFragment,BaseRecyclerAdapter,BaseView,BaseModel,BasePresenter等等,遵循SOLID原则,单一职责,一个类或者方法只能做一件事。
阅读全文
1 0
- 重新规划Android项目的目录结构
- 项目重构经验一 ——重新规划Android项目的目录结构
- Android 重新规划项目结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android 项目的目录结构
- Android项目的目录结构
- Android项目的目录结构
- Android项目目录结构
- android项目目录结构
- as3 netconnection 例子
- ubuntu ssh 出现问题及解决方案
- 2011年03月31日
- 未完成--练习题
- flex入门(一)
- 重新规划Android项目的目录结构
- PSR代码规范
- flex入门(二)
- flex入门(hello world)
- springMVC
- flex入门(三)——小应用
- flex + FMS入门____链接FMS
- FMS入门----播放视频流
- flex入门——显示摄像头视频