
开本:16开 |
纸张:胶版纸 |
包装:平装-胶订 |
是否套装:否 |
国际标准书号ISBN:9787111762119 |
所属分类:图书>计算机/网络>计算机体系结构 |
编辑推荐
随着新工具、框架、技术和范式不断涌现,软件开发生态系统也在不断变化。仅在过去五年中,软件开发核心工程实践的不断进步就促使业界认识到架构本身必须如何发展才能满足不断变化的用户需求。本书通过现实世界的案例研究阐明了软件开发和架构设计日益增长的演进需求,提供了关于适应度函数、自动化架构治理等方面的新技术、知识和技巧,详尽阐述了演进式架构的工程实践和使之更容易的结构方法。内容简介
本书提供了关于适应度函数、自动化架构治理和演进式数据的技术、知识和技巧。本书分为三个部分:第一部分包括定义演进式架构机制的章节——介绍团队如何使用技术和工具来构建适应度函数、部署管道以及其他管理和演进软件项目的机制;第二部分包括围绕耦合、复用和其他相关结构考虑因素的架构风格和设计原则,以帮助读者实现清晰的长期演进;第三部分探讨了第一部分中介绍的工程实践与第二部分中的结构考虑因素的交叉点。
目 录
目录
原书第版序
序
前言
第一部分 机制
第章 演进软件架构
软件演进的挑战
演进式架构
引导式变更
增量变更
多种架构维度
长期规划如何应对层出不穷的变化
架构构建完成后,如何防止其随时间推移而退化
为何演进目录
原书第版序
序
前言
第一部分 机制
第章 演进软件架构
软件演进的挑战
演进式架构
引导式变更
增量变更
多种架构维度
长期规划如何应对层出不穷的变化
架构构建完成后,如何防止其随时间推移而退化
为何演进
小结
第章 适应度函数
什么是适应度函数
适应度函数分类
按范围分类:原子与整体
按节奏分类:触发式、持续式和时间式
案例研究:触发式还是持续式
按结果分类:静态与动态
按调用方式分类:自动与手动
按响应方式分类:预设式与应急式
按覆盖范围分类:领域特定适应度函数
谁来写适应度函数
哪里有适应度函数测试框架
结果与实现
小结
第章 实现增量变更
增量变更
部署流水线
案例研究:为的发票服务增加适应度函数
案例研究:使用自动化构建验证的一致性
小结
第章 自动化架构治理
架构治理之适应度函数
基于代码的适应度函数
传入传出耦合
抽象性、不稳定性和与主序列的距离
导入的方向性
圈复杂度和“引导式”治理
即插即用的工具
开源库的合法性
可访问性和支持的其他架构属性
代码治理的工具
案例研究:可用性适应度函数
案例研究:配合金丝雀发布的负载测试
案例研究:移植什么
已经在使用的适应度函数
集成架构
微服务架构中的通信治理
案例研究:如何实现适应度函数
企业架构
案例研究:每天部署次的架构重构
保真度适应度函数
适应度函数作为清单,而非棍棒
记录适应度函数
小结
第二部分 结构
第章 演进式架构拓扑
可演进的架构结构
共生性
共生性与限界上下文的交集
架构量子和粒度
独立部署
高功能内聚性
高静态耦合
动态量子耦合
契约
案例研究:微服务作为演进式架构
复用模式
有效的复用抽象 低变动性
和服务网格:正交操作的耦合
数据网格:正交数据耦合
小结
第章 演进式数据
演进式数据库设计
演进模式
共享数据库集成
不适当的数据纠缠
两段式提交事务
数据的历史和质量
案例研究:演进的路由
从原生到适应度函数
引用完整性
数据冗余
替换触发器和存储过程
案例研究:从关系型到非关系型的演进
小结
第三部分 影响
第章 构建可演进的架构
演进式架构的原则
最后责任时刻
针对可演进性进行架构设计和开发
波斯特尔定律
针对可测试性进行架构设计
康威定律
机制
步骤:识别受演进影响的维度
步骤:为每个维度定义适应度函数
步骤:使用部署流水线自动化适应度函数
绿地项目
改造现有架构
适当的耦合和内聚
商业软件的影响
迁移架构
迁移步骤
演进模块之间的交互
构建演进式架构的指南
消除不必要的变化
做出可逆的决策
倾向可演进而非可预测
构建防腐层
构建可牺牲的架构
缓解外部变化
更新库而不是框架
版本服务内部化
案例研究:演进的评分
适应度函数驱动的架构
小结
第章 演进式架构的陷阱和反模式
技术架构
反模式:最后陷阱和低代码无代码
案例研究:里的复用
反模式:供应商为王
陷阱:充满漏洞的抽象
陷阱:简历驱动开发
增量变更
反模式:不恰当的治理
案例研究:中恰到好处的治理
陷阱:发布速度过慢
业务因素
陷阱:产品定制
反模式:记录系统之上的报表系统
陷阱:过于长远的规划
小结
第章 实践演进式架构
组织因素
不要抗拒康威定律
文化
试验文化
首席财务官和预算
业务场景
假设驱动开发和数据驱动开发
适应度函数作为试验媒介
构建企业级适应度函数
案例研究:零日安全漏洞
在现有集成架构中拆分限界上下文
从哪里开始
触手可及的成果
最高价值优先
测试
基础设施
案例研究:的企业级架构
未来状态
使用的适应度函数
生成式测试
构建演进式架构的场合
什么情况下公司应该构建演进式架构
什么情况下公司不需要构建演进式架构
小结
显示全部信息
作者简介
是公司的总监、软件架构师和 。
博士是的首席技术官。
是一位拥有多年经验的资深技术领导者。
是公司的数据兼总监,在数据库专业人员和应用开发人员之间架起了一座桥梁。
随着新工具、框架、技术和范式不断涌现,软件开发生态系统也在不断变化。仅在过去五年中,软件开发核心工程实践的不断进步就促使业界认识到架构本身必须如何发展才能满足不断变化的用户需求。本书通过现实世界的案例研究阐明了软件开发和架构设计日益增长的演进需求,提供了关于适应度函数、自动化架构治理等方面的新技术、知识和技巧,详尽阐述了演进式架构的工程实践和使之更容易的结构方法。内容简介
本书提供了关于适应度函数、自动化架构治理和演进式数据的技术、知识和技巧。本书分为三个部分:第一部分包括定义演进式架构机制的章节——介绍团队如何使用技术和工具来构建适应度函数、部署管道以及其他管理和演进软件项目的机制;第二部分包括围绕耦合、复用和其他相关结构考虑因素的架构风格和设计原则,以帮助读者实现清晰的长期演进;第三部分探讨了第一部分中介绍的工程实践与第二部分中的结构考虑因素的交叉点。
目 录
目录
原书第版序
序
前言
第一部分 机制
第章 演进软件架构
软件演进的挑战
演进式架构
引导式变更
增量变更
多种架构维度
长期规划如何应对层出不穷的变化
架构构建完成后,如何防止其随时间推移而退化
为何演进目录
原书第版序
序
前言
第一部分 机制
第章 演进软件架构
软件演进的挑战
演进式架构
引导式变更
增量变更
多种架构维度
长期规划如何应对层出不穷的变化
架构构建完成后,如何防止其随时间推移而退化
为何演进
小结
第章 适应度函数
什么是适应度函数
适应度函数分类
按范围分类:原子与整体
按节奏分类:触发式、持续式和时间式
案例研究:触发式还是持续式
按结果分类:静态与动态
按调用方式分类:自动与手动
按响应方式分类:预设式与应急式
按覆盖范围分类:领域特定适应度函数
谁来写适应度函数
哪里有适应度函数测试框架
结果与实现
小结
第章 实现增量变更
增量变更
部署流水线
案例研究:为的发票服务增加适应度函数
案例研究:使用自动化构建验证的一致性
小结
第章 自动化架构治理
架构治理之适应度函数
基于代码的适应度函数
传入传出耦合
抽象性、不稳定性和与主序列的距离
导入的方向性
圈复杂度和“引导式”治理
即插即用的工具
开源库的合法性
可访问性和支持的其他架构属性
代码治理的工具
案例研究:可用性适应度函数
案例研究:配合金丝雀发布的负载测试
案例研究:移植什么
已经在使用的适应度函数
集成架构
微服务架构中的通信治理
案例研究:如何实现适应度函数
企业架构
案例研究:每天部署次的架构重构
保真度适应度函数
适应度函数作为清单,而非棍棒
记录适应度函数
小结
第二部分 结构
第章 演进式架构拓扑
可演进的架构结构
共生性
共生性与限界上下文的交集
架构量子和粒度
独立部署
高功能内聚性
高静态耦合
动态量子耦合
契约
案例研究:微服务作为演进式架构
复用模式
有效的复用抽象 低变动性
和服务网格:正交操作的耦合
数据网格:正交数据耦合
小结
第章 演进式数据
演进式数据库设计
演进模式
共享数据库集成
不适当的数据纠缠
两段式提交事务
数据的历史和质量
案例研究:演进的路由
从原生到适应度函数
引用完整性
数据冗余
替换触发器和存储过程
案例研究:从关系型到非关系型的演进
小结
第三部分 影响
第章 构建可演进的架构
演进式架构的原则
最后责任时刻
针对可演进性进行架构设计和开发
波斯特尔定律
针对可测试性进行架构设计
康威定律
机制
步骤:识别受演进影响的维度
步骤:为每个维度定义适应度函数
步骤:使用部署流水线自动化适应度函数
绿地项目
改造现有架构
适当的耦合和内聚
商业软件的影响
迁移架构
迁移步骤
演进模块之间的交互
构建演进式架构的指南
消除不必要的变化
做出可逆的决策
倾向可演进而非可预测
构建防腐层
构建可牺牲的架构
缓解外部变化
更新库而不是框架
版本服务内部化
案例研究:演进的评分
适应度函数驱动的架构
小结
第章 演进式架构的陷阱和反模式
技术架构
反模式:最后陷阱和低代码无代码
案例研究:里的复用
反模式:供应商为王
陷阱:充满漏洞的抽象
陷阱:简历驱动开发
增量变更
反模式:不恰当的治理
案例研究:中恰到好处的治理
陷阱:发布速度过慢
业务因素
陷阱:产品定制
反模式:记录系统之上的报表系统
陷阱:过于长远的规划
小结
第章 实践演进式架构
组织因素
不要抗拒康威定律
文化
试验文化
首席财务官和预算
业务场景
假设驱动开发和数据驱动开发
适应度函数作为试验媒介
构建企业级适应度函数
案例研究:零日安全漏洞
在现有集成架构中拆分限界上下文
从哪里开始
触手可及的成果
最高价值优先
测试
基础设施
案例研究:的企业级架构
未来状态
使用的适应度函数
生成式测试
构建演进式架构的场合
什么情况下公司应该构建演进式架构
什么情况下公司不需要构建演进式架构
小结
显示全部信息
作者简介
是公司的总监、软件架构师和 。
博士是的首席技术官。
是一位拥有多年经验的资深技术领导者。
是公司的数据兼总监,在数据库专业人员和应用开发人员之间架起了一座桥梁。