Android架构方面的归纳

Android架构探索

标签(空格分隔):Android


概要

也许我们写业务代码的时候,能提升对代码的熟练度。但是并不能真正提升技术水平。能提升技术水平手段之一的莫过于研究一种应用的架构方案。分析其优劣,根据不同场景使用不同架构。

主要归纳两大块:

  • 基础库的开发工作
  • 架构方案的开关工作

其中基础库的开发工作,是最基础的任务,也是很重要的任务之一。这一块考察开发人员具体功能的实现能力,功能模块的优化能力,更多的是编程的基础设计能力。

架构库设计更多的考察开发者的实战经验,抽象设计能力,解决方案分析能力还有技术前瞻能力。

基础库设计

适合对象:高中低级开发人员
主要解决问题:具体功能实现。比如网络请求,图片缓存,列表的展示,查询,界面布局,数据存储操作等
主要的作用:作为其它业务功能模块的基础库
主要的分类:所有业务功能模块公共基础库(核心基础库)+部分功能模块公共基础库(定制基础库)
设计基础库主要的目的:

  • 合理划分项目结构,重用代码,方便维护项目
  • 可持续性优化代码质量,维护项目稳定
  • 节省开发时间,节省人力成本
  • 最重要的提高项目的可扩展性,方便项目移植,方便灵活的应对未来的业务需求

移动端App基础库设计主要模块

基础库

核心基础库
  • 网络请求——核心库
  • 图片处理——核心库
  • 数据存储——核心库
  • 工具类库——核心库
  • 公共UI库——核心库
  • 版本升级——核心库
  • 日志处理——核心库
  • 异常监控——核心库
定制基础库
  • 性能监控——定制基础库
  • 上传和下载——定制基础库
  • 推送库——定制基础库
  • 定位功能——定制基础库
  • 地图处理——定制基础库
  • 即时通信——定制基础库
  • 分享功能——定制基础库
  • 第三方登录——定制基础库
  • 后台定时任务——定制基础库

架构库设计

适合对象:中高级开发人员
主要解决问题:灵活适应未来业务需求
主要的作用:打造高可用性,扩展性,维护性的项目。
主要的分类:所有业务功能模块公共架构方案(基础架构方案)+部分功能模块定制的架构方案(定制架构方案)

架构库

基础架构方案

  • MVC
  • MVP
  • MVP+RxJava
  • MVP+RxJava+RxBus+Dragger2
  • MVP+EventBus
  • 多Fragement+单Activtiy
  • 多Fragement+多Activity
  • 路由技术的应用
  • ReactNative等为代表的解决方案

定制架构方案

  • UI界面可配置化
  • 语音智能搜索
  • 专业领域搭建方案
  • 插件化热更新技术

总结

一般来讲,复杂的应用架构需要特定的业务需求场景。在中大型的产品设计规划的时候遇到的会比较多一点。而中小应用则无需过度复杂的架构方案。总之,需要讲究一个原则,这个架构方案适不适合当前和未来产品发展的需要,适不适合多人开发,多少规模的团队开发。

你可能感兴趣的:(Android架构方面的归纳)