毕业总结
十个模块的架构训练营告一段落,有收获,有启发。跳出开发者的角色,从架构师的视角,回顾十个模块的学习,对这一段学习之旅来进行一次总结。
一、什么是架构
1、维基百科的定义
软件架构(Software Architecture)指软件系统的“基础结构”,创造这些基础结构的准则,以及对这些结构的描述。
2、华仔老师的理解:
4R 架构 – Rank + Role + Relation + Rule:
软件架构指软件系统的顶层结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。
二、架构图的分类
三、面向复杂度架构设计环
核心思想,号称价值百万的图:
四、架构设计三原则
① 合适原则;
② 简单原则;
③ 演化原则。
常见的判断维度:
五、架构师
1、定位:
架构师是业务和技术之间的桥梁。
2、核心能力
3、关键思维
确定性思维:消除模糊、不确定的说法和信息,例如“大量用户”应该明确为“XX 万用户”。
创造性思维:通过排列组合创新,得到更多的方案。
系统性思维:系统思考,有逻辑和推导过程,例如“为什么不用 Native 而要用 H5”。
4、架构设计阶段划分
1)架构设计前期
① 利益干系人分析:投资者、使用者、评估者、构建者、维护者、监管者。
② 诉求优先级排序。
2)架构设计中期
① 备选方案设计
设计过程:
a、头脑风暴:对可选技术进行排列组合,得到可能的方案。
b、红线筛选:根据系统明确的约束和限定,一票否决某些方案。
c、4R 设计:确定 Role、Relation,基于核心场景来设计 Rule。
② 备选方案评估和选择
360 度环评+优先级排序
3)架构设计后期
① 详细架构设计
② 架构设计文档写作
六、知识总结
前面五部分提炼了整个架构训练营的知识点,当然,课程不仅仅包含这些精髓,后面的模块还围绕这些知识点运用具体的实例展开,进行了详细地介绍,先思想,后实践,理论实践相结合。
七、心得体会
战术上的勤奋替代不了战略上平庸,思维上的进步方能促进从开发向架构的转变。从架构学习开始,出发了,不要问那路在哪儿,迎风向前,是唯一的方法……
评论