来源书籍

程序员必读之软件架构

软件架构方法论类

高信息浓度 × 高稳定性

类别清单覆盖

尚未完成类别清单核对。

全书概览

程序员必读之软件架构

类别:软件架构方法论类 作者:[英]Simon Brown | 出版:人民邮电出版社 | EPUB 标题:程序员必读之软件架构 (图灵程序设计丛书)

评级结论:经典原理(最高级别)

四象限判断:高信息浓度 × 高稳定性 - 高信息浓度:全书围绕“为什么这样做架构”展开,重点不是工具步骤,而是结构与愿景、改变成本、架构角色、质量属性、约束、风险、C4 可视化、文档和恰如其分的预先设计等底层判断。比如第5章用“改变成本”区分架构与一般设计,第21章把功能需求、质量属性、约束和原则归为架构驱动力,第65章用风险驱动方式界定预先设计的多少。 - 高稳定性:内容不绑定特定框架版本或界面操作,即使示例里出现 SharePoint、Silverlight、Java EE、.NET、UML 等时代性技术,落点仍是可迁移原则:技术选择不是实现细节、更多分层带来复杂度、代码不会讲述完整故事、敏捷不等于不要架构。这些判断在新技术栈中仍然成立。

章节筛选概览

  • 精读章节:50 章
  • 略读章节:18 章
  • 已生成卡片:76 张

章节进度追踪表

章节号 章节标题 精读/略读 状态 卡片数
01 什么是架构 精读 done 1
02 架构的种类 精读 done 1
03 软件架构是什么 精读 done 2
04 敏捷软件架构是什么 精读 done 2
05 架构对上设计 精读 done 2
06 软件架构重要吗 精读 done 1
07 问题 略读 done 0
08 软件架构的角色 精读 done 4
09 软件架构师应该编码吗 精读 done 2
10 软件架构师应该是建造大师 精读 done 2
11 从开发者到架构师 精读 done 1
12 拓展T 精读 done 2
13 软技能 精读 done 2
14 软件架构不是接力运动 精读 done 1
15 软件架构要引入控制吗 精读 done 1
16 小心鸿沟 精读 done 1
17 未来的软件架构师在哪里 精读 done 1
18 每个人都是架构师,除非他们有其他身份 精读 done 2
19 软件架构咨询师 精读 done 1
20 问题 略读 done 0
21 架构驱动力 精读 done 2
22 质量属性(非功能需求) 精读 done 1
23 处理非功能需求 精读 done 2
24 约束 精读 done 2
25 原则 精读 done 2
26 技术不是实现细节 精读 done 2
27 更多分层等于更高复杂度 精读 done 1
28 协同设计是一把双刃剑 精读 done 1
29 软件架构是对话的平台 精读 done 1
30 SharePoint项目也需要软件架构 精读 done 1
31 问题 略读 done 0
32 沟通障碍 精读 done 1
33 对草图的需要 精读 done 1
34 无效的草图 精读 done 2
35 C4:语境、容器、组件和类 精读 done 2
36 语境图 精读 done 1
37 容器图 精读 done 1
38 组件图 精读 done 1
39 是否包含技术选择 精读 done 1
40 你会那样编码吗 精读 done 1
41 软件架构和编码 精读 done 2
42 你不需要UML工具 精读 done 1
43 有效的草图 精读 done 2
44 C4的常见问题 精读 done 1
45 问题 略读 done 0
46 代码不会讲述完整的故事 精读 done 1
47 软件文档即指南 精读 done 2
48 语境 略读 done 0
49 功能性概览 略读 done 0
50 质量属性 略读 done 0
51 约束 略读 done 0
52 原则 略读 done 0
53 软件架构 略读 done 0
54 外部接口 略读 done 0
55 代码 略读 done 0
56 数据 略读 done 0
57 基础设施架构 略读 done 0
58 部署 略读 done 0
59 运营和支持 略读 done 0
60 决策日志 精读 done 1
61 问题 略读 done 0
62 敏捷和架构的冲突:神话还是现实 精读 done 2
63 量化风险 精读 done 1
64 风险风暴 精读 done 2
65 恰如其分的预先设计 精读 done 3
66 初识软件架构 精读 done 2
67 问题 略读 done 0
68 金融风险系统 精读 done 1

章节筛选理由

章节号 理由
01 架构的定义不止静态结构,还包含基于需求设定愿景和技术领导。
02 用不同 IT 架构类型抽象出共同要素:结构与愿景。
03 区分应用、系统、软件与企业架构,能校准架构讨论边界。
04 讨论架构如何支撑变化,并解释敏捷不是免费的属性。
05 用改变成本区分架构决策与一般设计决策,浓度高。
06 说明缺乏结构与愿景会如何演变为泥球和交付风险。
07 本章是复盘问题清单,无新增核心概念。
08 系统定义架构角色的职责范围,是全书角色观的核心。
09 解释实践型架构师为什么要保持代码触感。
10 用建造大师类比强调技术领导、实践经验与师徒传承。
11 讨论架构能力如何从参与度、影响力和责任感中演进。
12 阐明架构师需要技术深度与广度并存。
13 把领导、沟通、影响和责任纳入架构能力模型。
14 反对交付式架构文档,强调愿景要随交付持续演化。
15 讨论指导、一致性与团队自主之间的控制尺度。
16 聚焦架构师和开发团队脱节的组织风险。
17 指出架构设计经验需要培养,不能只靠日常编码自然获得。
18 把架构角色分配和团队成熟度联系起来。
19 咨询语境中的领域知识、权威和信任对架构落地很关键。
20 本章是角色部分的复盘问题,无新增核心概念。
21 把功能需求、质量属性、约束和原则归为架构输入。
22 列举质量属性及其对基础设计的影响。
23 说明非功能需求需要主动捕捉、量化和成本化。
24 展示时间、技术、人员、组织等约束如何塑造架构。
25 讨论原则如何带来一致性,以及最佳实践的语境限制。
26 强调技术选择会影响非功能目标、约束和一致性。
27 用富客户端案例说明每增加一层都增加设计、测试、部署负担。
28 说明不同专长会带来偏见,协作可暴露假设并提升共识。
29 把架构过程定位为跨利益相关者的沟通平台。
30 借平台项目说明定制开发之外也需要技术领导和质量目标。
31 本章是设计部分的复盘问题,无新增核心概念。
32 揭示团队常会可视化流程,却不会可视化正在构建的软件。
33 说明草图是轻量沟通共同愿景的工具。
34 大量反例揭示图表失效的根因:缺职责、交互、语境和抽象层次。
35 提出 C4 抽象层次,是全书可视化方法核心。
36 解释语境图如何回答系统、用户和环境依赖。
37 解释容器图如何表达高层技术选择和职责分布。
38 解释组件图如何承接容器内逻辑分解和交付估算。
39 说明技术选择能让架构图从概念回到现实。
40 用代码实现反推图表边界,避免虚构抽象。
41 讨论架构图与代码组织之间的映射。
42 强调工具不是架构设计前提,白板和纸也能有效。
43 给出草图标题、标签、线条、颜色、图例等评审标准。
44 补充 C4 在混合抽象、共享组件和企业语境中的处理。
45 本章是可视化部分的复盘问题,无新增核心概念。
46 说明代码无法完整表达设计意图、运行语境和历史理由。
47 提出产品级软件指南,替代厚重静态文档。
48 文档指南的一个栏目说明,内容偏模板化。
49 文档指南的一个栏目说明,内容偏模板化。
50 文档指南的一个栏目说明,主要复用前文质量属性概念。
51 文档指南的一个栏目说明,主要复用前文约束概念。
52 文档指南的一个栏目说明,主要复用前文原则概念。
53 文档指南的一个栏目说明,主要落在文档结构。
54 文档指南的一个栏目说明,偏清单化。
55 文档指南的一个栏目说明,偏清单化。
56 文档指南的一个栏目说明,偏清单化。
57 文档指南的一个栏目说明,偏清单化。
58 文档指南的一个栏目说明,偏清单化。
59 文档指南的一个栏目说明,偏清单化。
60 说明记录重要决策的语境和取舍,便于未来维护。
61 本章是文档部分的复盘问题,无新增核心概念。
62 澄清敏捷和架构不冲突,冲突来自团队结构和大型预先设计。
63 给出概率与影响矩阵,为架构风险排序。
64 提出协作式、可视化的架构风险识别方法。
65 总结风险驱动的最小架构实践。
66 给出把架构重新引入团队的实践建议。
67 本章是生命周期部分的复盘问题,无新增核心概念。
68 作为贯穿案例,完整呈现需求、质量属性和约束。

EPUB 处理记录

  • 解压目录:notes/程序员必读之软件架构/_epub-src
  • OPF 文件:_epub-src/content.opf
  • 目录文件:_epub-src/toc.ncx
  • 正文章节:第1章至第68章,对应 _epub-src/OEBPS/text00000_split_011.html_epub-src/OEBPS/text00000_split_084.html 中的主体章节文件。

章节与卡片

01 什么是架构

  1. 架构兼具动静 普通读书笔记卡

02 架构的种类

  1. 架构共性 普通读书笔记卡

03 软件架构是什么

  1. 架构看全局 普通读书笔记卡
  2. 企业架构不同 普通读书笔记卡

04 敏捷软件架构是什么

  1. 敏捷是相对速度 普通读书笔记卡
  2. 敏捷不是免费 普通读书笔记卡

05 架构对上设计

  1. 架构是难改设计 普通读书笔记卡
  2. 解耦转移重量 普通读书笔记卡

06 软件架构重要吗

  1. 泥球源于失焦 普通读书笔记卡

08 软件架构的角色

  1. 角色不是级别 普通读书笔记卡
  2. 技术选择即风险 普通读书笔记卡
  3. 架构需要照料 普通读书笔记卡
  4. 质量保证聚焦 普通读书笔记卡

09 软件架构师应该编码吗

  1. 架构师应编码 普通读书笔记卡
  2. 原型连接架构 普通读书笔记卡

10 软件架构师应该是建造大师

  1. 建造大师 普通读书笔记卡
  2. 学徒式传承 普通读书笔记卡

11 从开发者到架构师

  1. 看责任深度 普通读书笔记卡

12 拓展T

  1. T形技术能力 普通读书笔记卡
  2. 结对架构 普通读书笔记卡

13 软技能

  1. 软技能是架构力 普通读书笔记卡
  2. 情绪会放大 普通读书笔记卡

14 软件架构不是接力运动

  1. 架构不是接力 普通读书笔记卡

15 软件架构要引入控制吗

  1. 控制像操纵杆 普通读书笔记卡

16 小心鸿沟

  1. 缩小角色鸿沟 普通读书笔记卡

17 未来的软件架构师在哪里

  1. 架构需刻意练习 普通读书笔记卡

18 每个人都是架构师,除非他们有其他身份

  1. 角色随成熟变化 普通读书笔记卡
  2. 敏捷仍需架构 普通读书笔记卡

19 软件架构咨询师

  1. 责任配权威 普通读书笔记卡

21 架构驱动力

  1. 驱动力塑造架构 普通读书笔记卡
  2. 约束激发设计 普通读书笔记卡

22 质量属性(非功能需求)

  1. 质量属性进基础 普通读书笔记卡

23 处理非功能需求

  1. 非功能要量化 普通读书笔记卡
  2. 成本澄清优先级 普通读书笔记卡

24 约束

  1. 约束是设计输入 普通读书笔记卡
  2. 人员也是约束 普通读书笔记卡

25 原则

  1. 原则带来一致 普通读书笔记卡
  2. 最佳实践看语境 普通读书笔记卡

26 技术不是实现细节

  1. 技术不是细节 普通读书笔记卡
  2. 解耦不是免费 普通读书笔记卡

27 更多分层等于更高复杂度

  1. 分层增加复杂度 普通读书笔记卡

28 协同设计是一把双刃剑

  1. 协作暴露假设 普通读书笔记卡

29 软件架构是对话的平台

  1. 架构承载对话 普通读书笔记卡

30 SharePoint项目也需要软件架构

  1. 平台项目也要架构 普通读书笔记卡

32 沟通障碍

  1. 要可视化软件 普通读书笔记卡

33 对草图的需要

  1. 草图建共同愿景 普通读书笔记卡

34 无效的草图

  1. 无效图缺关系 普通读书笔记卡
  2. 图要喊出业务 普通读书笔记卡

35 C4:语境、容器、组件和类

  1. C4分层视图 普通读书笔记卡
  2. 抽象胜过标记 普通读书笔记卡

36 语境图

  1. 语境图定边界 普通读书笔记卡

37 容器图

  1. 容器图开盒子 普通读书笔记卡

38 组件图

  1. 组件图分职责 普通读书笔记卡

39 是否包含技术选择

  1. 技术让图落地 普通读书笔记卡

40 你会那样编码吗

  1. 图要照进代码 普通读书笔记卡

41 软件架构和编码

  1. 架构代码映射 普通读书笔记卡
  2. 组件封装喊业务 普通读书笔记卡

42 你不需要UML工具

  1. 工具不是前提 普通读书笔记卡

43 有效的草图

  1. 图例降低误读 普通读书笔记卡
  2. 评审图看九点 普通读书笔记卡

44 C4的常见问题

  1. C4守住层次 普通读书笔记卡

46 代码不会讲述完整的故事

  1. 代码不讲全貌 普通读书笔记卡

47 软件文档即指南

  1. 文档是指南 普通读书笔记卡
  2. 产品文档长存 普通读书笔记卡

60 决策日志

  1. 决策日志留语境 普通读书笔记卡

62 敏捷和架构的冲突:神话还是现实

  1. 架构划定范围 普通读书笔记卡
  2. 架构非大预设 普通读书笔记卡

63 量化风险

  1. 风险要拆两维 普通读书笔记卡

64 风险风暴

  1. 风险风暴 普通读书笔记卡
  2. 技术风险归架构 普通读书笔记卡

65 恰如其分的预先设计

  1. 预设有两种过度 普通读书笔记卡
  2. 重要来自成本 普通读书笔记卡
  3. 最小架构实践 普通读书笔记卡

66 初识软件架构

  1. 小步引入架构 普通读书笔记卡
  2. 角色要显性化 普通读书笔记卡

68 金融风险系统

  1. 案例驱动架构 普通读书笔记卡

相关主题

暂无公开主题。