揭秘软件架构之美:专家视角探索设计原理

4星 · 超过85%的资源 需积分: 14 30 下载量 135 浏览量 更新于2024-08-01 收藏 8.57MB PDF 举报
"架构之美(精选版)电子书" 这本《架构之美(精选版)》电子书是由Diomidis Spinellis等业界专家编著,王海鹏等翻译的著作,旨在揭示软件设计背后的美学与智慧。书中内容涵盖五个关键领域:概述、企业应用、系统、最终用户应用和编程语言,通过顶级专家的视角,深入探讨他们所选择的软件架构,揭示这些架构如何实现功能、可靠性、易用性、高效、可维护性、可移植性和优雅。 在"概述"章节中,作者讨论了架构的基本概念,包括为何创建软件架构,架构的构成部分,以及什么是好的架构。他们指出,美丽的架构不仅满足功能需求,还能够在设计上体现出简洁、清晰和美感。 "两个系统的故事:现代软件神话"章节通过对比“混乱大都市”与“设计之城”,探讨了架构设计中的混乱与有序,强调了良好的设计对系统性能和可扩展性的重要性。 "伸缩性架构设计"章节探讨了如何构建能够应对高负载和大规模数据的系统,讨论了架构设计的背景、架构本身以及设计过程中需要考虑的关键因素。 在"数据增长:Facebook平台的架构"这一章节中,作者展示了Facebook如何处理快速的数据增长,创建社会关系Web服务、数据查询服务以及Web门户,同时也介绍了支持这些服务的基础设施。 周爱民的推荐序中提到,架构是一个动态的过程,而不仅仅是静态的结果。他认为架构师的主要产出是能够指导实施的图,这些图既是实施的蓝图,也是架构师心中清晰的系统模型。 这本书不仅提供了理论知识,还通过实际案例分析,为读者展示了如何在实践中运用这些设计理念。对于IT专业人士,尤其是架构师和设计师来说,这是一本深入了解架构设计原则和实践的宝贵资源。读者可以通过China-Pub网站获取完整版电子书,或访问InfoQ中文站获取更多相关资源。
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