软件架构:架构模式、特征及实践指南
- ISBN:9787111682196
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:324
- 出版时间:2021-07-01
- 条形码:9787111682196 ; 978-7-111-68219-6
本书特色
适读人群 :有志成为软件架构师的软件开发人员全球范围内的薪酬调查经常将软件架构师列为十大*佳工作岗位,但并没有真正的指南来帮助开发人员成为架构师。于是,本书出现了。本书首次全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及其他许多主题。 软件开发世界日新月异,软件架构师必须在这样一个不断变化的环境中做出决策,在学习架构时,必须记住一点:与许多艺术品一样,架构只能在上下文中理解。架构师的许多决策都基于他们所处的实际环境而产生。 Mark Richards和Neal Ford讲授软件架构课程多年,他们关注的是适用于所有技术栈的架构原则。本书从现代的角度看待软件架构,综合了过去十年的所有创新,以及一些适用于当下的新结构和视角的新的度量标准和方法。本书还讨论了至关重要的权衡分析问题。本书为现有和新兴的架构(从结构到软技能等方面)提供一个良好的现代化软件架构概览。 本书将探讨: 架构模式:众多架构决策的技术基础。 组件:识别、耦合、内聚、分区和粒度。 软技能:有效的团队管理、会议、谈判、展示等。 现代化:在过去的几年里,工程实践和操作方法发生了根本性的变化。 作为工程学科的架构:可重复的结果、度量和具体的评估增加了软件架构的严谨性。
内容简介
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。 第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
关于作者
关于封面
作者简介
★Mark Richards是一位经验丰富的软件架构师,他参与了微服务架构、事件驱动架构和其他分布式架构的架构、设计和实现。 ★Neal Ford在ThoughtWorks担任总监、软件架构师和meme wrangler。ThoughtWorks是一家专注于端到端软件开发和交付的全球IT咨询公司。Neal也担任过DSW集团的首席技术官。 他是《卓有成效的程序员》一书的作者。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥67.4¥89.8 -
LINUX实战——从入门到精通
¥51.8¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8