如何设计安卓应该架构

94 阅读3分钟

为什么要有架构?

其实本质都是为了:效率。效率包含:高可开发、高可维护、高质量

高可开发

高可开发就是开发新功能效率很高,因为你架构都设计好了,只需要按照规定规则进行开发就行了,有些常用的工具类,组件都在架构设计的时候已经包含了

高可维护

高可维护就是修改功能、查找功能等都非常迅速,良好的架构已经能把代理逻辑整理的很清楚了,高质量就是出错率非常小,稳定健壮

高质量

就是出错率非常小,稳定健壮。因为往往我们在设计架构,遵循规则开发时,会处理掉一些异常情况,这样其实当在使用时,就好减少出错

总结

  • 架构的设计是一个循序渐进的过程,是随着业务的变化不断变化并满足当下的场景。你走了,其他人也容易上手,大部分场景,看得懂,比性能重要一丢丢
  • 一定要封装有良好的组件库,写一个东西超快,而且还能避免出错,已经封装好的,能够进行一些异常的处理 当我们想要修改某个功能时,很快就能找到位置,不乱。不重复工作,写好的直接拿来用
  • 其实往往在面试时,问你一个功能业务怎么设计,你可以从本质效率出发,从可维护、易修改、发散进行说明

模块化

  • 模块化是必须得,可以以包的形式,也可以以一个model/library形式。方便高效是宗旨,适合你们团队的规则就行,往往要结合本身的实际情况,小团队呀,通常五个人以下的小团队(一般公司也就两三个人),你就没必要搞的每个模块分的那么细,然后又模仿大公司团队整一个动态化加载,还要弄一个maven仓库,你累不累,要不要分人去维护呢,除非你们很闲。顺便说一句,很闲是个很好的事情,这样你就有时间去静下心来学习,还能想点其他事
  • 三到四层框架一般也就足够了:基础层、中间件层,业务层、壳子,mvp/mvvm/mvi。其实合适才是最重要,可以模仿网络上的框架进行开发,完了应用到自己的项目里
  • 关于路由,路由是现在app模块化开发中必须得,现在的路由已经不仅仅是为了模块化之间的app跳转,他还能做很多意想不到的事,因为拦截器的设计让他可用的功能太多了。

模块间的通讯

关于模块之间的的通讯,你可以其实有很多种,选择一个最合适你项目的就可以:

  • 路由
  • 回调接口
  • 广播
  • 事件总线
  • Livedata,可以结合生命周期,就不需要你自己进行管理了方便一点