美文网首页ios技术交流Android技术交流
Android架构篇-1 项目组织架构

Android架构篇-1 项目组织架构

作者: 浪人残风 | 来源:发表于2021-03-02 08:51 被阅读0次

模块化分层

1.结构清晰,各模块代码分离,符合高内聚低耦合,快速定位查找代码
2.团队协作开发灵活,互不影响,各模块完成后合并即可完成整体app
3.抽离公共层、模块层、业务层,方便维护管理

分层架构图

  • App下的Home(首页)、Mine(我的)、Login(登录)、Main(主页)等是app功能模块划分,根据模块大小自由定义拆分粒度
  • 公共层主要作为app各大功能模块的共有依赖,抽取模块共性(如:接口调用、数据库、公共页面、公共业务工具类)
  • 底层库是所有项目通用的,主要是些base类,网络接口封装、工具类等

代码结构

image.png

config.gradle

config.gradle文件主要是统一管理定义整个项目的所有依赖包的版本、编译工具、最低最高适配,这里定义的版本号建议明确化版本,不要有4.+这类模糊版本定义,一旦产品成型,不要轻易升级第三方版本,除非必要,毕竟稳定性优先!

代码封装

1.base类,主要分类三类

1)所有项目都通用都base,放到module_common_base库,主要封装一些打印信息、常用BaseActivity、BaseFragment甚至Base所有的View控件等功能

2)本项目特定的base,继承module_common_base库base,放到module_app_common的base里,定制项目通用的base,如通用导航栏、下拉刷新上拉加载更多等

3)某些页面共性封装,如同类产品详情页面、同类列表页面等

2.建议所有第三方库都需要再封装一层

1)编程语言、系统更新都很快,第三方库不一定能及时更行

2)随着项目的扩张,某些第三方库已经无法满足需求,需要找替代品

3)第三方库功能过多,需要封装出项目特定的API接口

架构适用性

此接口适合中小型app项目,大型项目的话可以把App里功能Modules再细分,每个module都可以拆分为UI层module、business业务层module,module_app_common库下的各模块功能各作为一个module(如:数据库、支付、Service、Router等)。如果需要对外提供SDK的同样需要再抽离出module。可以根据实际情况拆分

架构分层
不要被MVC、MVVM、VIPER等架构锁死,这些架构只是提供一些思路,学会了需要灵活运用,总结归纳,适合自己的才是最好的

源码下载

相关文章

网友评论

    本文标题:Android架构篇-1 项目组织架构

    本文链接:https://www.haomeiwen.com/subject/pkomfltx.html