架构师从来都不是看书看来的,需要长久的实践与累积。最好的方式就是在工作中累积。
首先, 你得明确,你是在做产品,不是做项目。
其次, 架构的前期需求分析与建模非常重要,多思考未来可能的扩展。
最后, 最好有一定的代码规范甚至是洁癖。
要用严格的标准来要求自己,是否当上架构师其实没差,无非就是希望自己成为团队核心得到更多的认可而已。如觉得自己目前的工作没什么挑战性,也可以自己来设计一款产品,从需求到架构到实现。碰到那种常见的需求,可以参考一些成熟的第三方开源项目,另外在看第三方项目时,要明白what how why。
what 这个项目是为了解决什么问题而生的,提供了什么样的API?
how 它是如何实现的?有哪些小的功能模块组成?它们是怎样解耦的?如果我有扩展需求,我该如何改?why 为什么会这样来实现?有没有更好的方案?
一般来说,我们看代码,基本顺序是what how why,能去翻源码理解how的不多,真正做到why的少的可怜。如果你想提升技术成为主力,那至少,你得多去理解how,试图去解释why。
[](
)成为一名优秀的系统架构师需要哪些知识储备?
1、架构师胚胎(程序员) 学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。
2、架构师萌芽(高级程序员) 学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生可以研究网络计算机、高性能并发处理等内容)
3、架构师幼苗(设计师)应该在掌握上述基础之上, 结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)、ejb设计模式、J2EE架构、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。
4、软件架构师的正式成型在于机遇、个人努力和天赋, 软件架构师其实是一种职位,但一个程序员在充分掌握软架构师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理架构、如何不断的抽象和归纳自己的架构模式、如何深入行业成为能够胜任分析、架构为一体的精英人才这可不是每个人都能够遇上的馅饼……
注意:程序员是一个有时间年限的工作,一般30岁之前就要规划好未来的职业道路。
[](
)如何学习
每个程序员朋友都有自己的架构师梦,可往往梦想是美好的,现实又是残酷至极的。不努力不奋斗,可能就会在基层一辈子止步不前。也许有很多朋友还会说,程序员也是干的年轻饭,年纪大了也就爬不上了,脑子跟身体都跟不上了。那既如此,又为何不趁着自己还年轻,好好把握机会,努力一把,美好的未来才有机会和你招手!当然咯,这也仅仅代表我个人的观点,毕竟一百个人有一百个不同的脑子,就会有成千上万种不同的想法。
不过,只一句,如果你还在做这一行,还是一名程序猿(媛),想走上坡路的你,也许我这到手的学习进阶笔记 可能会对你有所帮助。
-
[](
)**自行下载直达领取链接:【[点击我,即可获得!](
)】**
《Android高级架构师面试指导+2020大厂面试真题》
[](
)更多学习视频
最后
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。
所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。
如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/167243.html