1. 概况
书名:《程序员必读之软件架构》
时间:20250704~20250731
这本纸质书放在家里时间挺长,之前看着目录比较简单,一直没有去翻阅。
近来看完其它书,偶然翻阅,别有一番风味:行文比较简单。
印象深刻的两部分内容是『画图』和『文档』。
特别是文档,有一个很好的类比:旅游指南/攻略 VS 软件指南。
- 随说:软件指南 VS 旅游指南
一句话概况:架构代表了重大决策,衡量重要性的则是改变的成本。
1.1 什么是架构?
名词解释:将产品分解为一系列组件、模块和交互。
动词解释:理解你需要构建什么、设定愿景以便进行构建和做出恰当的设计决策。
- 本质:结构 + 愿景
- 现象:需求驱动架构
1.2 架构的好处
1.2.1 没有架构会怎么样?
如果没有人思考软件架构,最终结果往往看起来像一团乱码。
副作用包括软件系统难以维护、难以改变、难以扩展、难以部署、太慢、不安全、脆弱、不稳定等等。
1.2.2 架构的好处
- 让团队有清晰的愿景和路线图;
- 技术领导力和更好地协调;
- 更好地回答重要决策、非功能需求、限制和其他问题;
- 识别和减轻风险的框架;
- 方法和标准的一致性(结果之一:结构良好的代码库);
- 对不同的听众,用不同的抽象来交流解决方案;