揭秘架构之美:专家解读软件设计的核心

需积分: 3 0 下载量 200 浏览量 更新于2024-07-30 收藏 8.22MB PDF 举报
"架构之美-顶级业界专家揭秘架构之美" 本书"架构之美"是一部由Diomidis Spinellis等业界专家编著,王海鹏等翻译的作品,受到众多知名IT企业架构师的推荐。这本书深入探讨了软件设计的核心——架构,揭示了架构在软件开发中的重要性和美学价值。通过免费在线版本,读者可以访问China-Pub网站获取完整内容,同时,InfoQ中文站也提供了本书及其他企业软件开发系列图书的免费下载。 在"架构概述"章节中,作者阐述了架构的基本概念,包括架构的创建、结构和评价标准。他们强调,一个好的架构不仅需要满足功能需求,还要具备可扩展性、可维护性和美感。"美丽的架构"不仅是指技术上的卓越,更是一种艺术与实用性的完美结合。 "两个系统的故事:现代软件神话"章节通过对比"混乱大都市"和"设计之城"两种不同的系统构建方式,展示了架构设计对系统性能和可维护性的影响。这一部分旨在说明,良好的架构设计能够解决复杂性问题,提高系统的整体效率。 在"伸缩性架构设计"章节,作者探讨了如何设计能够应对大规模数据和用户流量的系统。他们讨论了架构的背景、关键元素以及如何思考架构设计,以确保系统的稳定性和可扩展性。 "数据增长:Facebook平台的架构"章节深入解析了Facebook如何处理快速增长的数据和用户需求。从创建社会关系Web服务,到构建数据查询服务和Web门户,再到支持系统的各项功能,这一章详细阐述了大型社交网络架构的设计思路和实现策略。 书中的推荐序由支付宝(中国)公司业务架构师周爱民撰写,他强调架构是一个动态的过程,而非静态的结果,而架构师的主要产出是能够引导实施的清晰蓝图。他认为,架构师应具备对目标系统有深刻理解的能力,这样才能有效地进行架构设计。 "架构之美"是一本深入剖析软件架构的著作,它不仅提供了理论框架,还通过实例展示了实际的架构设计实践,对于IT专业人士尤其是架构师来说,是提升专业素养和设计思维的宝贵资源。
2013-04-21 上传
第一部分 论架构 第1章 架构概述  13 1.1 简介  13 1.2 创建软件架构  19 1.3 架构结构  23 1.4 好的架构  27 1.5 美丽的架构  28 致谢  30 参考文献  31 第2章 两个系统的故事:现代软件神话  33 2.1 混乱大都市  34 2.2 设计之城  40 2.3 说明什么问题  47 2.4 轮到你了  48 参考文献  48 第二部分 企业级应用架构 第3章 伸缩性架构设计  51 3.1 简介  51 3.2 背景  52 3.3 架构  56 3.4 关于架构的思考  61 第4章 记忆留存  67 4.1 功能和约束  68 4.2 工作流 69 4.3 架构关注点  70 4.4 用户反应  90 4.5 结论  90 参考文献  90 第5章 面向资源的架构:在Web中  91 5.1 简介  91 5.2 传统的Web服务  92 5.3 Web  94 5.4 面向资源的架构  99 5.5 数据驱动的应用  102 5.6 应用面向资源的架构  103 5.7 结论  108 第6章 数据增长:Facebook平台的架构  109 6.1 简介  109 6.2 创建一个社会关系Web服务  114 6.3 创建社会关系数据查询服务  121 6.4 创建一个社会关系Web门户:FBML  129 6.5 系统的支持功能  142 6.6 总结  147 第三部分 系统架构 第7章 Xen和虚拟化之美  151 7.1 简介  151 7.2 Xenoservers  152 7.3 虚拟化的挑战  154 7.4 半虚拟化  155 7.5 Xen的变换形式  158 7.6 改变的硬件,改变的Xen  163 7.7 经验教训  165 7.8 延伸阅读  166 第8章 Guardian:一个容错操作系统环境  169 8.1 Tandem/16,将来所有的计算机都会像这样构建 170 8.2 硬件  170 8.3 物理布局  172 8.4 处理器架构  172 8.5 处理器间总线  178 8.6 输入/输出  178 8.7 进程结构  179 8.8 消息系统  179 8.9 文件系统  183 8.10 轶闻趣事  188 8.11 弊端  189 8.12 后继者  190 8.13 延伸阅读  191 第9章 JPC:一个纯Java的x86 PC模拟程序  193 9.1 简介  193 9.2 概念验证  195 9.3 PC架构  198 9.4 Java性能技巧  199 9.5 把4GB放入4GB:这不起作用  200 9.6 保护模式的危险  203 9.7 从事一项毫无成功希望的斗争  206 9.8 劫持JVM  210 9.9 终极灵活性  220 9.10 终极安全性  222 9.11 第二次做会更好  223 第10章 元循环虚拟机的力量:Jikes RVM  225 10.1 背景  225 10.2 与运行时环境相关的传言  227 10.3 Jikes RVM简史  229 10.4 一个自足执行的运行时自举  230 10.5 运行时组件  234 10.6 经验教训  246 参考文献  247 第四部分 最终用户应用架构 第11章 GNU Emacs:滋长的特性是其优势  251 11.1 使用中的Emacs  252 11.2 Emacs的架构  254 11.3 滋长的特性  260 11.4 另外两个架构  262 第12章 当集市开始构建教堂  267 12.1 简介  267 12.2 KDE项目的历史和组织结构  269 12.3 Akonadi  274 12.4 ThreadWeaver  289 第五部分 语言与架构 第13章 软件架构:面向对象与面向函数  299 13.1 概述  299 13.2 函数式示例  302 13.3 函数式解决方案的模块性评价  305 13.4 面向对象视图  313 13.5 面向对象模块性的评价和改进  319 13.6 代理:将操作封装到对象中  323 致谢 328 参考文献 328 第14章 重读经典  331 14.1 所有东西都是对象  335 14.2 类型是隐式定义的  342 14.3 问题  348 14.4 砖块和灰浆建筑架构  352 参考资料  359 跋 漂亮地构建 363