软件架构 架构模式 特征及实践指南

架构设计 708 浏览 227 下载

软件架构 架构模式 特征及实践指南
免费
作者: 理查兹
出版社: 机械工业出版社
ISBN: 9787111682196
下载信息

下载类型: 直接下载

销售价格: ¥0.00


书籍详情
品牌 机工出版
商品编号 10031874761053
店铺 机械工业出版社官方旗舰店
著者 理查兹
ISBN 9787111682196
版次 1
出版社 机械工业出版社
包装清单 暂无
内容简介
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。*1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。*2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
详细介绍

   内容介绍

  内容简介

本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。*1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。*2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。




目录

  目录

  前言:失效的公理1
*1章 概述5
1.1 定义软件架构7
1.2 架构师的角色期望10
1.3 与架构的交集14
1.4 软件架构定律19
*一部分 基础21
*2章 架构思维23
2.1 架构与设计24
2.2 技术广度25
2.3 分析权衡28
2.4 理解业务驱动因素31
2.5 平衡架构和动手编码31
第3章 模块化34
3.1 定义34
3.2 度量模块化36
3.3 从模块到组件48
第4章 现有的架构特征49
4.1 部分已罗列出来的架构特征51
4.2 权衡和*差可用的架构56
第5章 识别架构特征57
5.1 从领域问题中提取架构特征57
5.2 从需求中提取架构特征59
5.3 案例研究:硅三明治60
第6章 度量和治理架构特征66
6.1 度量架构特征66
6.2 治理和适应度函数70
第7章 架构特征的范围76
7.1 耦合与共生性76
7.2 架构量子与粒度77
第8章 组件化思维83
8.1 组件范围83
8.2 架构师角色84
8.3 开发人员角色90
8.4 组件识别流程90
8.5 组件粒度91
8.6 组件设计92
8.7 案例研究:“前进,前进,消失”之发现组件94
8.8 架构量子回归:单体架构和分布式架构之间的选择96
*二部分 架构风格99
第9章 基础101
9.1 基础模式101
9.2 单体架构与分布式架构104
*10章 分层架构风格112
10.1 拓扑结构112
10.2 分层隔离性113
10.3 增加分层114
10.4 其他考虑116
10.5 为什么使用这种架构风格116
10.6 架构特征评级117
*11章 管道架构风格119
11.1 拓扑结构119
11.2 示例121
11.3 架构特征评级122
*12章 微内核架构风格124
12.1 拓扑结构124
12.2 注册129
12.3 契约130
12.4 示例和用例131
12.5 架构特征评级132
*13章 基于服务的架构风格134
13.1 拓扑结构134
13.2 拓扑结构变体135
13.3 服务设计和粒度137
13.4 数据库分区138
13.5 架构示例139
13.6 架构特征评级141
13.7 何时使用这种架构风格143
*14章 事件驱动的架构风格144
14.1 拓扑结构145
14.2 代理拓扑145
14.3 中介拓扑149
14.4 异步能力156
14.5 错误处理157
14.6 防止数据丢失160
14.7 广播功能162
14.8 请求-应答163
14.9 在基于请求和基于事件之间进行选择165
14.10 混合的事件驱动的架构166
14.11 架构特征评级166
*15章 基于空间的架构风格169
15.1 常规拓扑结构170
15.2 数据冲突179
15.3 云实现与预置实现181
15.4 复制缓存与分布式缓存182
15.5 近缓存中的注意事项184
15.6 实现示例185
15.7 架构特征评级186
*16章 编制驱动的面向服务的架构188
16.1 历史和哲学188
16.2 拓扑结构188
16.3 分类189
16.4 重用与解耦191
16.5 架构特征评级193
*17章 微服务架构195
17.1 历史195
17.2 拓扑结构196
17.3 分布式196
17.4 有界上下文197
17.5 API层198
17.6 运维重用199
17.7 前端201
17.8 通信202
17.9 架构特征评级209
17.10 附加参考210
*18章 选择合适的架构风格211
18.1 改变架构“时尚”211
18.2 决策标准212
18.3 单体案例研究:硅三明治214
18.4 分布式案例研究:前进,前进,消失216
第三部分 技巧和软技能221
*19章 架构决策223
19.1 架构决策反模式223
19.2 具备架构意义225
19.3 架构决策记录226
*20章 分析架构风险235
20.1 风险矩阵235
20.2风险评估236
20.3 风险风暴238
20.4 敏捷用户故事的风险分析244
20.5 风险风暴范例244
*21章 架构绘图和演示250
21.1 绘图251
21.2 演示255
*22章 打造高效团队259
22.1 团队边界259
22.2 架构师的个性260
22.3 有多少控制力263
22.4 团队告警信号267
22.5 利用检查清单269
22.6 提供指导273
22.7 总结275
*23章 谈判和领导能力276
23.1 谈判和推进276
23.2 软件架构师作为*导者281
23.3 与开发团队集成287
23.4 总结289
*24章 打造职业发展路径290
24.1 20分钟规则290
24.2 开发个人雷达291
24.3 使用社交媒体295
24.4 临别赠言296
附录A 自我评估问题297
关于作者
关于封面