封面
版权信息
O' Reilly Media Inc.介绍
原书第1版序
序
前言
第一部分 机制
第1章 演进软件架构
1.1 软件演进的挑战
1.2 演进式架构
1.2.1 引导式变更
1.2.2 增量变更
1.2.3 多种架构维度
1.3 长期规划如何应对层出不穷的变化
1.4 架构构建完成后,如何防止其随时间推移而退化
1.5 为何演进
1.6 小结
第2章 适应度函数
2.1 什么是适应度函数
2.2 适应度函数分类
2.2.1 按范围分类:原子与整体
2.2.2 按节奏分类:触发式、持续式和时间式
- APP免费
2.2.3 案例研究:触发式还是持续式
- APP免费
2.2.4 按结果分类:静态与动态
- APP免费
2.2.5 按调用方式分类:自动与手动
- APP免费
2.2.6 按响应方式分类:预设式与应急式
- APP免费
2.2.7 按覆盖范围分类:领域特定适应度函数
- APP免费
2.3 谁来写适应度函数
- APP免费
2.4 哪里有适应度函数测试框架
- APP免费
2.5 结果与实现
- APP免费
2.6 小结
- APP免费
第3章 实现增量变更
- APP免费
3.1 增量变更
- APP免费
3.1.1 部署流水线
- APP免费
3.1.2 案例研究:为PenultimateWidgets的发票服务增加适应度函数
- APP免费
3.1.3 案例研究:使用自动化构建验证API的一致性
- APP免费
3.2 小结
- APP免费
第4章 自动化架构治理
- APP免费
4.1 架构治理之适应度函数
- APP免费
4.2 基于代码的适应度函数
- APP免费
4.2.1 传入/传出耦合
- APP免费
4.2.2 抽象性、不稳定性和与主序列的距离
- APP免费
4.2.3 导入的方向性
- APP免费
4.2.4 圈复杂度和“引导式”治理
- APP免费
4.3 即插即用的工具
- APP免费
4.3.1 开源库的合法性
- APP免费
4.3.2 可访问性和支持的其他架构属性
- APP免费
4.3.3 ArchUnit
- APP免费
4.3.4 代码治理的lint工具
- APP免费
4.3.5 案例研究:可用性适应度函数
- APP免费
4.3.6 案例研究:配合金丝雀发布的负载测试
- APP免费
4.3.7 案例研究:移植什么
- APP免费
4.3.8 已经在使用的适应度函数
- APP免费
4.4 集成架构
- APP免费
4.4.1 微服务架构中的通信治理
- APP免费
4.4.2 案例研究:如何实现适应度函数
- APP免费
4.5 DevOps
- APP免费
4.6 企业架构
- APP免费
4.6.1 案例研究:每天部署60次的架构重构
- APP免费
4.6.2 保真度适应度函数
- APP免费
4.7 适应度函数作为清单,而非棍棒
- APP免费
4.8 记录适应度函数
- APP免费
4.9 小结
- APP免费
第二部分 结构
- APP免费
第5章 演进式架构拓扑
- APP免费
5.1 可演进的架构结构
- APP免费
5.1.1 共生性
- APP免费
5.1.2 共生性与限界上下文的交集
- APP免费
5.2 架构量子和粒度
- APP免费
5.2.1 独立部署
- APP免费
5.2.2 高功能内聚性
- APP免费
5.2.3 高静态耦合
- APP免费
5.2.4 动态量子耦合
- APP免费
5.3 契约
- APP免费
案例研究:微服务作为演进式架构
- APP免费
5.4 复用模式
- APP免费
5.4.1 有效的复用=抽象+低变动性
- APP免费
5.4.2 Sidecar和服务网格:正交操作的耦合
- APP免费
5.4.3 数据网格:正交数据耦合
- APP免费
5.5 小结
- APP免费
第6章 演进式数据
- APP免费
6.1 演进式数据库设计
- APP免费
6.1.1 演进模式
- APP免费
6.1.2 共享数据库集成
- APP免费
6.2 不适当的数据纠缠
- APP免费
6.2.1 两段式提交事务
- APP免费
6.2.2 数据的历史和质量
- APP免费
6.2.3 案例研究:演进PenultimateWidgets的路由
- APP免费
6.3 从原生到适应度函数
- APP免费
6.3.1 引用完整性
- APP免费
6.3.2 数据冗余
- APP免费
6.3.3 替换触发器和存储过程
- APP免费
6.3.4 案例研究:从关系型到非关系型的演进
- APP免费
6.4 小结
- APP免费
第三部分 影响
- APP免费
第7章 构建可演进的架构
- APP免费
7.1 演进式架构的原则
- APP免费
7.1.1 最后责任时刻
- APP免费
7.1.2 针对可演进性进行架构设计和开发
- APP免费
7.1.3 波斯特尔定律
- APP免费
7.1.4 针对可测试性进行架构设计
- APP免费
7.1.5 康威定律
- APP免费
7.2 机制
- APP免费
7.2.1 步骤1:识别受演进影响的维度
- APP免费
7.2.2 步骤2:为每个维度定义适应度函数
- APP免费
7.2.3 步骤3:使用部署流水线自动化适应度函数
- APP免费
7.3 绿地项目
- APP免费
7.4 改造现有架构
- APP免费
7.4.1 适当的耦合和内聚
- APP免费
7.4.2 商业软件的影响
- APP免费
7.5 迁移架构
- APP免费
7.5.1 迁移步骤
- APP免费
7.5.2 演进模块之间的交互
- APP免费
7.6 构建演进式架构的指南
- APP免费
7.6.1 消除不必要的变化
- APP免费
7.6.2 做出可逆的决策
- APP免费
7.6.3 倾向可演进而非可预测
- APP免费
7.6.4 构建防腐层
- APP免费
7.6.5 构建可牺牲的架构
- APP免费
7.6.6 缓解外部变化
- APP免费
7.6.7 更新库而不是框架
- APP免费
7.6.8 版本服务内部化
- APP免费
7.6.9 案例研究:演进PenultimateWidgets的评分
- APP免费
7.7 适应度函数驱动的架构
- APP免费
7.8 小结
- APP免费
第8章 演进式架构的陷阱和反模式
- APP免费
8.1 技术架构
- APP免费
8.1.1 反模式:最后10%陷阱和低代码/无代码
- APP免费
8.1.2 案例研究:PenultimateWidgets里的复用
- APP免费
8.1.3 反模式:供应商为王
- APP免费
8.1.4 陷阱:充满漏洞的抽象
- APP免费
8.1.5 陷阱:简历驱动开发
- APP免费
8.2 增量变更
- APP免费
8.2.1 反模式:不恰当的治理
- APP免费
8.2.2 案例研究:PenultimateWidgets中恰到好处的治理
- APP免费
8.2.3 陷阱:发布速度过慢
- APP免费
8.3 业务因素
- APP免费
8.3.1 陷阱:产品定制
- APP免费
8.3.2 反模式:记录系统之上的报表系统
- APP免费
8.3.3 陷阱:过于长远的规划
- APP免费
8.4 小结
- APP免费
第9章 实践演进式架构
- APP免费
9.1 组织因素
- APP免费
9.1.1 不要抗拒康威定律
- APP免费
9.1.2 文化
- APP免费
9.1.3 试验文化
- APP免费
9.1.4 首席财务官和预算
- APP免费
9.2 业务场景
- APP免费
9.2.1 假设驱动开发和数据驱动开发
- APP免费
9.2.2 适应度函数作为试验媒介
- APP免费
9.3 构建企业级适应度函数
- APP免费
9.3.1 案例研究:零日安全漏洞
- APP免费
9.3.2 在现有集成架构中拆分限界上下文
- APP免费
9.4 从哪里开始
- APP免费
9.4.1 触手可及的成果
- APP免费
9.4.2 最高价值优先
- APP免费
9.4.3 测试
- APP免费
9.4.4 基础设施
- APP免费
9.4.5 案例研究:PenultimateWidgets的企业级架构
- APP免费
9.5 未来状态
- APP免费
9.5.1 使用AI的适应度函数
- APP免费
9.5.2 生成式测试
- APP免费
9.6 构建演进式架构的场合
- APP免费
9.6.1 什么情况下公司应该构建演进式架构
- APP免费
9.6.2 什么情况下公司不需要构建演进式架构
- APP免费
9.7 小结
- APP免费
关于作者
- APP免费
关于封面
- APP免费
推荐阅读
- APP免费
封底
更新时间:2024-11-13 10:18:05