前言:虽然笔者一直梦想成为一名架构师,但实践的仍是少之又少。这篇文章是笔者在2016年5月份参加一次UML培训时授课老师分享的经验,略做整理,以供自己以及有同样志向的小伙伴参考。
第1阶段——技术
- 感悟技术的内涵——编程语言与操作系统结构(Linux)
- 技术是架构师的敲门砖
- 驾驭编程语言,看透编程语言(C/C++)
具备扎实的技术功底是成为一名架构师的首要条件,离开技术的架构师只能是无源之水、无本之木。老师给出了架构师如何获取所需基础技术的途径和建议:
第1月:
- 使用手机来阅读Linux内核0.01版,8000多行代码
- 将*.C和*.H改名为*.TXT(方便在手机上阅读)
- 从任意一个源文件读起
第2月:
- 使用手机来阅读Linux内核0.11版,16000多行代码
- 对比阅读,为什么增加了8000多行代码?是变好了,还是变变坏了?
- 既掌握了技术,又学会了重构
第2阶段——详设
- 通往架构师之路的第二站——详细设计
- 学会功能模块的切割与设计
- 掌握类图表达设计的方法
第3月:
- 使用手机阅读Linux 1.0内核的UML类图
- UML工具(e.g. EA)反向工程获得Linux 1.0的类图
- UML Model转化为JPG图片
- 思考:为什么这个模块有这些函数?函数分类
第4月:
- 使用手机阅读Linux 2.0内核的UML类图
- 与Linux 1.0类图对比阅读,为什么设计发生变化?
- 设计的改造是向好的方向发展,还是向坏的方向发展
- 参悟设计重构的内涵,设计是渐进的
第3阶段——结构
- 感悟系统结构设计,从功能到结构突破
- 复杂大型系统的结构切割是如何完成的
- 结构切割的思维模式
第5月:
- 使用手机阅读Linux 3.0内核的包图
- Linux 3.0文件夹的目录结构与包图的关系
- 包图与组件的关系
- 揭示大型操作系统的结构之谜
第6月:
- 使用手机阅读Windows 2000源代码的包图
- 与Linux 3.0包图对比阅读
- 对比商用系统与开源系统的结构设计的异同
- 对比更多操作系统异同
第4阶段——经验
第7月:
- 吸星大法-快速获取他人的设计经验
- 获取经验的源泉-开源软件、商用软件
- 获取他人设计经验的秘诀?(自己探寻吧)
以上是老师根据他的亲身经历给出的建议。在我看来7个月要想成为架构师绝对是困难重重的,我们只能说通过7个月的时间打下基础。正所谓万事开头难,有志于成为架构师的朋友们,当然也包括我自己,还是要付出不懈的努力才行!