从代码实现层面看,在功能刚开始开发时,这两个设计区别不是很大,但随着系统演进、越来越多的功能加入,继承关系带来的耦合会导致模块之间关系越来越复杂,牵一发而动全身,终究有一天哪怕只做很小的改动,也将成为压死骆驼的最后一根稻草。
这次重构的成果是代码量由43K减少到15K,扩展新的接口能力不再需要修改已有代码。我想,这或许就体现了码农和程序员的区别吧。
建立知识体系
1.Android高级架构师筑基技能
内容
-
java泛型
-
java注解
-
并发编程
-
数据传输与序列化
-
java虚拟机原理
-
反射与类加载
-
高效IO
2.Android框架体系架构
内容
-
高级UI晋升
-
Android组件内核
-
大型项目必备ipc
-
数据持久化
-
framework内核解析
3.全方面性能调优
-
内容;
-
设计思想与代码质量优化
-
程序性能优化
-
开发效率优化
4.设计思想解读开源框架
内容
-
热修复设计
-
插件后框架解读
-
组件化框架设计
-
图片加载框架
-
网络访问框架设计
-
rxjava响应式编程框架设计
-
IOC架构设计
-
Android组件架构jetpack
我认为
在上一家公司当过一段时间的Android面试官,发现很多“精通”Android的候选人简历上都会写使用过XX开源库并引以为傲,如果在面试的时候没有问到这些有的还会对我提出质疑。拜托,这就叫精通了?这真的很有挑战性么?
怎么样算一名优秀的程序员?我认为最基本的要求是有高效的产出。回到Android上,一名优秀或者题主说的精通Android的程序员也应如此,高效的产出高质量代码,迅速解决开发中存在的BUG,对于需求提出合理的解决方案,不间断的学习和分享。而精通的开端,就是从一个使用者,变成创造者。轮子谁都会滚,而造轮子的,才值得尊敬。
那怎么成为精通Android的开发者?看,写,思考,总结,交流,这条路没有捷径。我认为精通Android的开发者至少需要具有扎实的C++/Java基本功,微机,网络通信,数据结构和算法基础,熟悉Android的大部分组件,常用开源库,丰富的Debug,适配经验以及持续的学习能力。
新的开始
改变人生,没有什么捷径可言,这条路需要自己亲自去走一走,只有深入思考,不断反思总结,保持学习的热情,一步一步构建自己完整的知识体系,才是最终的制胜之道,也是程序员应该承担的使命。
CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》
《系列学习视频》
《系列学习文档》
《我的大厂面试之旅》
…(img-KOqX8WxG-1630548699045)]
《系列学习文档》
[外链图片转存中…(img-agDNlOKg-1630548699047)]
《我的大厂面试之旅》
[外链图片转存中…(img-T5cRJp1w-1630548699048)]