做Android开发必须要掌握哪些架构上的知识?

谈到架构,在座的很多Android大佬想到的一定是MVC、MVP、MVVM这几个词,然后对比一下它们的优缺点,接下来就是站队的时间了。常常写MVC,偶然见到了MVP,真香。而写久了MVP,又听说了MVVM,又是真香~

“真香”定律在架构这里真是被用得淋漓尽致,此外还要喜新厌旧一番,使用MVVM的鄙视使用MVP的,使用MVP的又鄙视使用MVC的。
做Android开发必须要掌握哪些架构上的知识?_第1张图片
架构,就在这样的鄙视链下,“螺旋”发展,让我们看一看这些年架构是如何进化进化再进化的吧!

架构是什么

其实对于架构,以前我也是一知半解,但工作了这些年,加上读了许多关于架构相关的文章,结合实际项目经历,有了自己的一些理解。

关于架构的概念,我们可以顾名思义的去看,架构=+也就是在一个整体架子上和各个组件之间的组合结构。

架构离我们并不远,反而在我们的实际开发中无处不在,它是一个很笼统的概念,上至框架选型组件化等,下至业务代码设计模式都能称为架构的一部分。

对于架构学习而言,我觉得首先得对面向对象(抽象,继承,多态等)及设计原则有一定的理解,进而结合 Android 常用的一些架构如MVVM, MVP, MVI等思想,基础与理论理解清楚了,架构就在日常的开发中,多思考,多结合理论与实际,一点一点地积累起来了。

对于很多新入行的程序员来说,这部分人碰到垃圾代码很多都会想着去重构,但 android开发的老油子们 早就知道别人写的能运行的代码千万不要去动(doge)
做Android开发必须要掌握哪些架构上的知识?_第2张图片

架构不是一蹴而就的,能够从自己写的代码中找到架构的成就感是非常爽的! 如果各位对于架构有迷茫不知从何学起的或者刚入行想要从头开始学习架构,大家可以看看参考一下我整理的这份 《Android 开发架构必备开发文档》

强调一下:【因篇幅问题:文中只放技术点,需要完整版的的可找作者获取】

此外Android进阶开发各类文档可关注公众号获取。

1.Android高级开发工程师必备基础技能
2.Android性能优化核心知识笔记
3.Android+音视频进阶开发面试题冲刺合集
4.Android 音视频开发入门到实战学习手册
5.Android Framework精编内核解析
6.Flutter实战进阶技术手册
7.近百个Android录播视频+音视频视频dome

做Android开发必须要掌握哪些架构上的知识?_第3张图片

架构设计核心技能:注解与泛型

知识点 :(注解、泛型、策略模式、组件化)
做Android开发必须要掌握哪些架构上的知识?_第4张图片

架构动态编程技术原理

知识点 :(动态代理、反射、编译时处理)
做Android开发必须要掌握哪些架构上的知识?_第5张图片

Android虚拟机指令

知识点 :(指令集、Android内存管理、类加载机制)
做Android开发必须要掌握哪些架构上的知识?_第6张图片

Android虚拟机垃圾回收

知识点 :(垃圾收集算法、垃圾收集算法分类、垃圾收集器、垃圾收集器分类、物理内存与虚拟内存、GC root算法)
做Android开发必须要掌握哪些架构上的知识?_第7张图片

Android虚拟机类和对象的结构

知识点 :(对象内存结构、Object堆内管理策略、逃逸分析、Minor GC、Major GC和Full GC对比与GC日志分析)
做Android开发必须要掌握哪些架构上的知识?_第8张图片

并发内存模型

知识点 :(JMM并发内存模型、无锁并发策略–CAS、AQS)
做Android开发必须要掌握哪些架构上的知识?_第9张图片

Synchronize机制

知识点 :(Synchronize修饰代码块、锁、同步原理、锁的优化)
做Android开发必须要掌握哪些架构上的知识?_第10张图片

深入并发原理之线程池

知识点 :(线程池、线程池工作原理、自定义线程池)
做Android开发必须要掌握哪些架构上的知识?_第11张图片

高效IO与数据序列化

知识点 :(高效IO、数据序列化、I/O多路复用机制详解、其他序列化方式)
做Android开发必须要掌握哪些架构上的知识?_第12张图片

再强调一下:【因篇幅问题:文中只放部分内容,全部文档可找 作者获取。】

做Android开发必须要掌握哪些架构上的知识?_第13张图片

1.Android高级开发工程师必备基础技能
2.Android性能优化核心知识笔记
3.Android+音视频进阶开发面试题冲刺合集
4.Android 音视频开发入门到实战学习手册
5.Android Framework精编内核解析
6.Flutter实战进阶技术手册
7.近百个Android录播视频+音视频视频dome
.......

你可能感兴趣的:(架构,系统架构,android,android开发,android进阶)