架构师训练营 - 学习笔记 - 第一周
Who
李智慧, 30岁才开始职业编程生涯,15年职业经验,长期从事大型网站架构、大数据研发工作,Apache Apark 源码贡献者。
工作经历:方正,NEC, 阿里巴巴技术专家,Intel 亚太研发中心架构师, WiFi 万能钥匙 CTO
著有 《大型网站技术架构:核心原理与案例分析》
极客时间专栏:《从 0 开始学大数据》、《后端技术面试 38 讲》
整体感觉讲师是一位经验丰富的有实战经验的架构师,期待后续的课程有很多的收获。
What
架构师思路 - 2020/9/14 星期一
开篇第一课,李老师主要讲解了市面上对架构师的要求和一些大厂的架构师招聘的要求以及一些常见的面试题讲解。笔记如下:
什么是软件架构
架构师职责
架构师能力
架构师需要协调、满足各方的(客户、老板、开发、测试、运维等)诉求
架构师要面对不同的受众,用不同的方式,展现系统不同的侧面
悟到
知识由不懂 -> 懂,就像捅破层窗户纸一样。
看来,悟性还是是很重要的。
要被任命为架构师,才有可能做架构,两种途径:
跳槽
内部晋升
额,并不是人人都能当架构师,毕竟在公司里,一个萝卜一个坑。天天搬砖 -> 没机会提升和锻炼 -> 一直搬砖 -> 想要打破 -> 公司没有机会 -> 那就自己创造机会。
不要脱离场景做架构
面向简历编程
不断学习简历中的技术,保持技术前沿。
面向老板做架构
老板固然重要,但更要对整个软件以后所能产生的 Business Value 负责。
整个架构图“相关方”最重要
给谁做架构
架构图给谁看
如何编写设计文档 - 2020/9/16 星期三
软件建模与设计文档,是对业务的抽象
面向对象 6 种关系:
依赖、关联、继承、实现、聚合、组合
其中组合和聚合的区别如下:
组合:生命周期一致, 人 -> 手 -> 不能给别人用
聚合:生命周期不一致,汽车 -> 轮子 -> 可以给别的车用
各种架构模型(4+1视图模型和10种UML模型):
用例图
组件图
时序图
对象图 (很少用)
合作图 (很少用,可由时序图产生)
部署图
活动图 (讲解了泳道的概念)
状态图
类图 (很重要)
使用场景
需求分析:用例图,部署图,时序图,活动图,状态图
概要设计:框架图,部署图,组件图,时序图,活动图
详细设计:类图,时序图,活动图,状态图
画给谁看决定画到多详细。
推荐书单《UML 精粹》第三版 by Martin Fowler
评论