展开全部

主编推荐语

演进式架构整洁之道,微服务架构指南。

内容简介

着眼于理论、立足于实践,每一个章节都有丰富的案例研究。

在软件开发流程中,为了尽可能快地响应各种变化,理应把结构渐进改变作为设计的首要原则。《演进式架构》详尽阐述了演进式架构的必要性、构建方法以及需要注意的问题。

本书由IT行业领导企业ThoughtWorks的CTO和架构专家联合执笔,详尽介绍了演进式架构的必要性以及如何在具体的软件开发流程中实现演进式架构,涵盖了适应度函数、增量变更、架构耦合、演进式数据、构架可演进的架构、实践演进式架构等内容。

本书各章结合案例分别讨论了软件架构、适应度函数、开展增量变更、架构耦合、演进式数据、构建可演进的架构、演进式架构的陷阱和反模式,以及实践演进式架构。

目录

  • 版权信息
  • O'Reilly Media,Inc.介绍
  • 前言
  • 第1章 软件架构
  • 1.1 演进式架构
  • 1.1.1 一切都在变化,如何才能长期规划
  • 1.1.2 完成架构构建后,如何防止它逐渐退化
  • 1.2 增量变更
  • 1.3 引导性变更
  • 1.4 多个架构维度
  • 1.5 康威定律
  • 1.6 为何演进
  • 1.7 小结
  • 第2章 适应度函数
  • 2.1 什么是适应度函数
  • 2.2 适应度函数分类
  • 2.2.1 原子适应度函数与整体适应度函数
  • 2.2.2 触发式适应度函数与持续式适应度函数
  • 2.2.3 静态适应度函数与动态适应度函数
  • 2.2.4 自动适应度函数与手动适应度函数
  • 2.2.5 临时适应度函数
  • 2.2.6 预设式高于应急式
  • 2.2.7 针对特定领域的适应度函数
  • 2.3 尽早确定适应度函数
  • 2.4 审查适应度函数
  • 第3章 实施增量变更
  • 3.1 构件
  • 3.1.1 可测试性
  • 3.1.2 部署流水线
  • 3.1.3 组合不同类型的适应度函数
  • 3.1.4 案例研究:在每天部署60次的情况下重建架构
  • 3.1.5 目标冲突
  • 3.1.6 案例研究:为PenultimateWidgets的发票服务添加适应度函数
  • 3.2 假设驱动开发和数据驱动开发
  • 3.3 案例研究:移植什么
  • 第4章 架构耦合
  • 4.1 模块化
  • 4.2 架构的量子和粒度
  • 4.3 不同类型架构的演进能力
  • 4.3.1 大泥团架构
  • 4.3.2 单体架构
  • 4.3.3 事件驱动架构
  • 4.3.4 服务导向架构
  • 4.3.5 “无服务”架构
  • 4.4 控制架构量子大小
  • 4.5 案例分析:防止组件循环依赖
  • 第5章 演进式数据
  • 5.1 演进式数据库设计
  • 5.1.1 数据库模式演进
  • 5.1.2 共享数据库集成
  • 5.2 不当的数据耦合
  • 5.2.1 二阶段提交事务
  • 5.2.2 数据的年龄和质量
  • 5.3 案例研究:PenultimateWidgets的路由演进
  • 第6章 构建可演进的架构
  • 6.1 演进机制
  • 6.1.1 识别受演进影响的架构维度
  • 6.1.2 为每个维度定义适应度函数
  • 6.1.3 使用部署流水线自动化适应度函数
  • 6.2 全新的项目
  • 6.3 改良现有架构
  • 6.3.1 适当的耦合和内聚
  • 6.3.2 工程实践
  • 6.3.3 适应度函数
  • 6.3.4 关于商业成品软件
  • 6.4 架构迁移
  • 6.4.1 迁移步骤
  • 6.4.2 演进模块间的交互
  • 6.5 演进式架构构建指南
  • 6.5.1 去除不必要的可变性
  • 6.5.2 让决策可逆
  • 6.5.3 演进优于预测
  • 6.5.4 构建防腐层
  • 6.5.5 案例分析:服务模板
  • 6.5.6 构建可牺牲架构
  • 6.5.7 应对外部变化
  • 6.5.8 更新库与更新框架
  • 6.5.9 持续交付优于快照
  • 6.5.10 服务内部版本化
  • 6.6 案例分析:PenultimateWidgets的评分服务演进
  • 第7章 演进式架构的陷阱和反模式
  • 7.1 技术架构
  • 7.1.1 反模式:供应商为王
  • 7.1.2 陷阱:抽象泄漏
  • 7.1.3 反模式:最后10%的陷阱
  • 7.1.4 反模式:代码复用和滥用
  • 7.1.5 案例研究:PenultimateWidgets中的复用
  • 7.1.6 陷阱:简历驱动开发
  • 7.2 增量变更
  • 7.2.1 反模式:管理不当
  • 7.2.2 案例研究:PenultimateWidgets的“金发姑娘”管理
  • 7.2.3 陷阱:发布过慢
  • 7.3 业务问题
  • 7.3.1 陷阱:产品定制
  • 7.3.2 反模式:报表
  • 7.3.3 陷阱:规划视野
  • 第8章 实践演进式架构
  • 8.1 组织因素
  • 8.1.1 全功能团队
  • 8.1.2 围绕业务能力组织团队
  • 8.1.3 产品高于项目
  • 8.1.4 应对外部变化
  • 8.1.5 团队成员间的连接数
  • 8.2 团队的耦合特征
  • 8.2.1 文化
  • 8.2.2 试验文化
  • 8.3 首席财务官和预算
  • 8.4 构建企业适应度函数
  • 8.5 从何开始
  • 8.5.1 容易实现的目标
  • 8.5.2 最高价值优先
  • 8.5.3 测试
  • 8.5.4 基础设施
  • 8.5.5 PenultimateWidgets的企业架构师
  • 8.6 演进式架构的未来
  • 8.6.1 基于AI的适应度函数
  • 8.6.2 生成式测试
  • 8.7 为什么(不)呢
  • 8.7.1 公司为何决定构建演进式架构
  • 8.7.2 案例分析:PenultimateWidgets选择性伸展
  • 8.7.3 企业为何选择不构建演进式架构
  • 8.7.4 说服他人
  • 8.7.5 案例分析:“咨询柔道”
  • 8.8 商业案例
  • 8.8.1 未来已来……
  • 8.8.2 没有后顾之忧地快速前行
  • 8.8.3 风险更低
  • 8.8.4 新能力
  • 8.9 构建演进式架构
  • 关于作者
  • 封面介绍
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。