架构师修炼之道-读书笔记-一二章
一、成为架构师
架构师的职责
1、从工程角度定义问题
架构师需要了解需求,知道要做的软件项目的需求和目标。
产品经理关注功能需求,架构师关注质量属性
2、分解系统、分配职责
将需求分解成几个小的模块,给每个模块分配职责。
3、关注大局
从大局角度出发,考虑后续需求的演变方向,提前做好准备。
4、在质量属性之前取舍
提升需求方想要的质量属性,抑制需求方不想要的质量属性。
5、管理技术债务
技术债务:为了短期利益或目标,做出欠佳的决策
把握技术债务,将其控制在一定的范围内,通过一定手段弥补。
6、提升团队的架构技能
适当的传授设计技巧和理念,帮助团队成员成长。减轻自己的工作量。
软件架构
如何组织软件的一系列重大决策的集合,旨在实现期望的质量属性和其他软件特性。
元素是软件的基本组成成分,关系则描述元素如何协作完成任务。
模块
组件连接器
分配
质量属性
利益相关方判断软件系统是否好用的一切外部可见特性、包括可伸缩性、可用性、可维护性、可测试下等。
程序员到架构师转变
参与系统的开发,并承担更多的职责,把握好一切设计架构的机会。
二、设计思维基础
四条原则
1、以人为本
尊重所有直接或间接与架构有关的人,换位思考,理解他们的感受
2、推迟决策
需求是善变的,对于影响范围大、难以更改的需求不到最后一刻,不要轻易做最终的设计决策。
3、善于借鉴
研究以往的设计、探索其中规律。借鉴别人的设计,取之精华,弃之糟粕。
4、化虚为实
将脑中的想法写下来,呈现出来。
设计思维模式
1、理解
理解问题,想清楚要做的是什么
2、探索
探索想法,找到解决问题的方法
3、展示
展示想法,将解决问题的方法呈现出来
4、评估
评估适用性,将解决问题的方法根据实际情况进行分析和取舍。
TDC
T think 思考 思考问题
D do 动手 动手解决问题
C check 检查 检查是否解决问题