美文网首页Android开发经验谈Android开发Android技术进阶
Android资深架构【通用技能】,我们需要掌握哪些?带你一探究

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

作者: 谁动了我的代码 | 来源:发表于2022-10-10 21:52 被阅读0次

    前言

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

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

    本篇我们来探讨一下,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架构师,大家都觉得很难。没错就是很难;需要掌握的东西太多,但是总有人会成为架构师,这是为什么?因为有准备技术靠慢慢累积的,树立好目标不急不躁的学习;总有一天来到顶峰。

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

    相关文章

      网友评论

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

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