原著:Software Architecture Patterns: Understanding Common Architecture Patterns and When to Use Them
作者:Mark Richards
译者:choongth(中文翻译版)
本书由资深软件架构师 Mark Richards 撰写,简明扼要地介绍了五种在实际工程中广泛应用的软件架构模式。每种模式均从模式描述、关键概念、实例说明、注意事项到模式特征评分进行系统性讲解,帮助架构师和开发人员在面对具体业务需求时,做出有据可依的架构选型决策。
| # | 章节 | 简介 |
|---|---|---|
| 引言 | 引言 | 为什么架构决策至关重要,以及如何避免"大泥球"反模式 |
| 第一章 | 分层架构 | 最经典的 n 层架构,讲解封闭层、隔离层与开放层的核心概念 |
| 第二章 | 事件驱动架构 | 中介器拓扑与代理拓扑,构建高度解耦、异步可扩展系统的利器 |
| 第三章 | 微内核架构 | 以插件式设计实现功能扩展,适合产品型应用与规则引擎场景 |
| 第四章 | 微服务架构模式 | 独立部署的服务组件、三种拓扑形态,以及如何避免过度编排 |
| 第五章 | 基于空间的架构 | 通过内存数据网格与虚拟化中间件,从根本上消除数据库瓶颈 |
| 附录 A | 模式分析总结 | 六大架构特征的横向对比评分,一图看清各模式的优劣权衡 |
下表汇总了书中对六项关键架构特征的评级(✅ 高 / ❌ 低),可作为快速选型参考:
| 架构模式 | 整体敏捷性 | 易于部署 | 可测试性 | 性能 | 可扩展性 | 易于开发 |
|---|---|---|---|---|---|---|
| 分层架构 | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
| 事件驱动架构 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
| 微内核架构 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| 微服务架构 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 基于空间的架构 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
详细评分说明及图表请参阅 附录 A。
本中文版基于英文原著翻译而成,力求在忠实原意的前提下,使用通顺自然的中文表达。主要翻译原则如下:
- 专业术语(如 Big Ball of Mud、mock/stub、契约)保留业界通行中文译法,并在首次出现时附注英文原文
- 架构模式名称统一使用中文译名,英文原名在章节标题中保留以便对照
- 原著中存在的笔误(如第三章中将"微内核"误写为"微服务")已在译文中予以修正
如需对照阅读,英文原版 Markdown 文件存放于 English_Version_Markdown/ 目录。
如发现翻译错漏,欢迎提交 Issue 或 Pull Request。
| 项目 | 内容 |
|---|---|
| 原书名 | Software Architecture Patterns |
| 出版社 | O'Reilly Media |
| 作者 | Mark Richards |
| 原版语言 | 英文 |
| 原版文件 | Software Architecture Patterns.pdf |