软件架构 架构模式 特征及实践指南
免费
| 作者: |
理查兹 |
| 出版社: |
机械工业出版社 |
| ISBN: |
9787111682196 |
书籍详情
| 品牌 |
机工出版 |
| 商品编号 |
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 关于作者 关于封面
|