- 架构决策无依据:提供架构特征和权衡分析方法,帮助架构师做出有据可依的技术决策。
- 架构模式选择困难:系统介绍分层、微内核、事件驱动、微服务等八大架构风格的适用场景。
- 组件划分不清晰:讲解组件识别、耦合、内聚、分区和粒度的度量与设计方法。
- 架构师软技能不足:涵盖团队管理、会议、谈判、展示等软技能,助力职业发展。
- 架构治理缺失:介绍适应度函数和治理机制,确保架构随时间演进不偏离目标。
- 有志成为架构师的开发者:希望系统学习架构知识,完成从开发到架构师的转型。
- 现有软件架构师:需要现代化架构知识体系,提升架构决策和治理能力。
- 技术经理与CTO:需要理解架构权衡,指导团队技术方向和架构演进。
- 高级开发人员:希望拓宽技术视野,理解系统全局设计和架构模式。
- 先读第一部分:打好模块化、耦合、架构特征等基础概念,再进入模式学习。
- 重点研读第6-9章:八大架构风格是本书核心,结合自身项目对比分析。
- 关注权衡分析:每章都强调权衡,阅读时思考不同场景下的取舍。
- 结合软技能章节:第12章软技能同样重要,不要跳过。
- 绘制架构图:边读边为当前项目绘制架构图,实践组件识别和特征度量。
- 架构全景:全面理解软件架构的各个维度,从结构到软技能。
- 模式选型:掌握八大架构风格的优缺点和适用场景,能做出合理选型。
- 权衡思维:学会分析架构决策的权衡,找到最差可用架构之上的最优解。
- 治理能力:能够用适应度函数度量和治理架构特征,确保架构健康演进。
- 职业成长:获得成为成功架构师所需的技术和软技能指导。
📖 书籍简介
产品特色

编辑推荐
全球范围内的薪酬调查经常将软件架构师列为十大最佳工作岗位,但并没有真正的指南来帮助开发人员成为架构师。于是,本书出现了。本书首次全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及其他许多主题。
软件开发世界日新月异,软件架构师必须在这样一个不断变化的环境中做出决策,在学习架构时,必须记住一点:与许多艺术品一样,架构只能在上下文中理解。架构师的许多决策都基于他们所处的实际环境而产生。
Mark Richards和Neal Ford讲授软件架构课程多年,他们关注的是适用于所有技术栈的架构原则。本书从现代的角度看待软件架构,综合了过去十年的所有创新,以及一些适用于当下的新结构和视角的新的度量标准和方法。本书还讨论了至关重要的权衡分析问题。本书为现有和新兴的架构(从结构到软技能等方面)提供一个良好的现代化软件架构概览。
本书将探讨:
架构模式:众多架构决策的技术基础。
组件:识别、耦合、内聚、分区和粒度。
软技能:有效的团队管理、会议、谈判、展示等。
现代化:在过去的几年里,工程实践和操作方法发生了根本性的变化。
作为工程学科的架构:可重复的结果、度量和具体的评估增加了软件架构的严谨性。
内容简介
本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及许多其他主题。本书分为三部分。
第1部分介绍关于组件化、模块化、耦合和度量软件复杂度的基本概念和术语。
第2部分详细介绍各种架构风格:分层架构风格、管道架构风格、微内核架构风格、基于服务的架构风格、事件驱动的架构风格、基于空间的架构风格、编制驱动的面向服务的架构、微服务架构。
第3部分介绍成为一个成功的软件架构师所必需的关键技巧和软技能。
作者简介
★Mark Richards是一位经验丰富的软件架构师,他参与了微服务架构、事件驱动架构和其他分布式架构的架构、设计和实现。
★Neal Ford在ThoughtWorks担任总监、软件架构师和meme wrangler。ThoughtWorks是一家专注于端到端软件开发和交付的全球IT咨询公司。Neal也担任过DSW集团的首席技术官。
他是《卓有成效的程序员》一书的作者。
精彩书评
★Neal和Mark不仅是杰出的软件架构师,也是无与伦比的老师。他们汇聚几十年经验,成功地将架构的庞大主题浓缩为本书。无论你是新人还是有多年实践经验的架构师,本书都将帮助你更好地完成工作。我多么希望在我职业生涯的初期就能看到这本书。
—Nathaniel Schutta,ntschutta.io架构师
★Mark和Neal开始着手实现一个令人生畏的目标—阐明在软件架构中取胜所必需的众多分层的基本原理—并且完成了任务。软件架构领域仍在不断发展,而架构师这个角色需要在知识和技能方面兼具令人咂舌的广度和深度。本书将成为许多人掌握软件架构的向导。
—Rebecca J. Parsons,ThoughtWorks CTO
★Mark和Neal为技术人员推动架构的卓越性提供了真实世界的建议。他们通过指出共同的架构特征和驱动成功所必需的权衡来实现这一点。
—Cassie Shum,ThoughtWorks技术总监
★软件架构不是一门技术,而是一门艺术。世界上没有哪所大学培养软件架构师,软件架构师的成长一般是通过长期的软件工程实践经验提炼而来。拥有一位优秀的软件架构师是任何一个企业负责人,特别是CTO梦寐以求的事情。在我个人的CTO生涯中,总是在寻找、观察和培养优秀的软件架构师。我感觉本书帮了世界上所有CTO一个大忙,因为它为CTO成功解决了培养软件架构师的一些问题。我强烈推荐有志成为软件架构师的工程师认真学习本书。
—陈斌,NETSTARS CTO
📑 章节目录
- 概述:定义软件架构与架构师的角色期望
- 架构思维:技术广度、权衡分析与业务驱动
- 模块化:定义、度量与从模块到组件
- 架构特征:识别、度量与治理架构特征
- 架构特征的范围:耦合、共生与最差可用架构
- 分层架构与管道架构风格
- 微内核架构与基于服务的架构风格
- 事件驱动架构与基于空间的架构风格
- 编制驱动的面向服务架构与微服务架构
- 组件识别与架构图表化展示
- 演进架构:适应变化与持续演进
- 架构师的软技能:团队管理、谈判与展示