Android资深架构【通用技能】,我们需要掌握哪些?带你一探究竟

前言

曾有人这样形容架构师的重要性: 架构师的工作就像是他打造一棵树的主干和枝干,然后程序员们让这棵树上长出树叶和果实

既然架构师是「灵魂人物」,那么,成为一名架构师,需要具备怎样的技能?

本篇我们来探讨一下,Android架构师的一些通用技能;那好小本本准备发车。架构师学习就是扫盲,看看还有那些你不会的技术。可以自己进行补习;偷偷打枪的不要,卷死他们嘿嘿!

架构师通用技术

我这里分为三部分:数据结构与算法、代码设计准则、设计模式的运用。

1、数据结构与算法

1.1常用数据结构

线性表

  • ArrayList源码分析
  • 项目实战:手写实现ArryList集合

链表

队列

映射表

  • HashMap源码解读与实战
  • HashMap的扩容机制剖析
  • Hash函数,Hash值
  • 数组+链表实现原理
  • JDK1.7后的红黑树算法详解
  • 项目实战e手写实现HashMap集合与扩容机制

1.2排序算法

  • 比较类排序算法
  • 交换排序算法
  • 希尔排序排序算法
  • 非比较类排序算法
  • 归并排序排序算法
  • 计数排序算法
  • 桶排序算法
  • 八大内部排序项目实战场景分析

2、代码设计准则

2.1六大设计原则

  • 单一职责原则
  • 开闭原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特法则

2.2设计模式

结构型模式

桥接模式

  • WMS源码解析

适配器模式

  • RecycleView源码解析

装饰器模式

  • I/0文件操怍
  • RxJava操作符组合与扩展
  • hook系统级handler与aid

代理模式

  • Retrofit源码解析
  • Binder源码解析
  • SDK版本切换

外观(门面)模式

  • Gide/retrft码解析

组合模式

  • View Tree设计思想
  • WMS中windowState设计思想

享元模式

  • 内存泡共享性能优化
  • Handler源码解析

创建型模式

建造者模式

  • 淘宝任务调度系统设计
  • Retroft源码解析

单例模式

  • SDK封装原理

抽象工厂模式

  • dagger2源码解析
  • 网络module时装原理

工厂方法模式

  • Retroft源码解析

原型模式

  • Intent设计思想

模板方法模式

  • Actity生命周期源码设计思想

行为型模式

策略模式

  • Rxjava封装Retrofit思想
  • APT注解处理器实现原理SPI机制

观察者模式

  • Jetpack Lifelcycle/Livedata/databinding
  • rxjava

责任链模式

  • okhttp源码解析

命令模式

  • 事件输入系统设计

访问者模式

  • ASM设计思想

迭代器(游标)模式

  • JDK集合类访问设计

备忘录模式

  • Activity数据恢复设计

状态模式

  • Wif状态管理设计

中介者(调停者模式)

  • keyguard锁屏设计
  • WMS源码解析

解释器模式

  • PackageParser设计思想

3、设计模式的运用

这里不多做说明,更多在于知识的灵活运用。

以上就是Android架构师的通用技能;我做一部分举例出来。希望能够帮助大家参考,了解自身不足的技能进行补习。说到补习知道我这里推荐华为高级架构师整理的一份《架构师技能进阶电子册》;有需要进阶自己技术的可以领取参考学习。

文末

对于Android架构师,大家都觉得很难。没错就是很难;需要掌握的东西太多,但是总有人会成为架构师,这是为什么?因为有准备技术靠慢慢累积的,树立好目标不急不躁的学习;总有一天来到顶峰。

市场不需要那么多架构,但是技能越厉害越不容易淘汰,与薪资成正比。至于架构师名分我想与薪资没有大多关系。所以我们的初衷还是进阶自身技能。

猜你喜欢

转载自blog.csdn.net/m0_71524094/article/details/127253321