一、目录介绍
第一部分 论架构
第1章 什么是架构
1.1 简介
1.2 创建软件架构
1.3 架构结构
1.4 好的架构
1.5 美丽的架构
1.6 致谢
1.7 参考文献
第2章 两个系统的故事:现代软件神话
2.1 混乱大都市
2.2 设计之城
2.3 说明什么问题
2.4 轮到您了
2.5 参考文献
第二部分 企业级应用架构
第3章 伸缩性架构设计
3.1 简介
3.2 背景
3.3 架构
3.4 关于架构的思考
第4章 记忆留存
4.1 功能和约束
4.2 工作流
4.3 架构关注点
4.4 用户反应
4.5 结论
第5章 面向资源的架构:在Web中
5.1 简介
5.2 传统的Web服务
5.3 Web
5.4 面向资源的架构
5.5 数据驱动的应用
5.6 应用面向资源的架构
5.7 结论
第6章 数据增长:Facebook平台的架构
6.1 简介
6.2 创建一个社会关系Web服务
6.3 创建社会关系数据查询服务
6.4 创建一个社会关系Web门户:FBML
6.5 系统的支持功能
6.6 总结
第三部分 系统架构
第7章 Xen和虚拟化之美
7.1 简介
7.2 Xenoservers
7.3 虚拟化的挑战
7.4 半虚拟化
7.5 Xen的变换形式
7.6 改变的硬件,改变的Xen
7.7 经验教训
7.8 延伸阅读
第8章 Guardian:一个容错操作系统环境
8.1 Tandem/16,将来所有的计算机都会像这样构建
8.2 硬件
8.3 机械布局
8.4 处理器架构
8.5 处理器间总线
8.6 输入/输出
8.7 进程结构
8.8 消息系统
8.9 文件系统
8.10 民间传说
8.11 弊端
8.12 后继者
8.13 延伸阅读
第9章 JPC:一个纯Java的x86PC模拟程序
9.1 简介
9.2 概念验证
9.3 PC架构
9.4 Java性能技巧
9.5 把4GB放入4GB:这不起作用
9.6 保护模式的危险
9.7 从事一项毫无成功希望的斗争
9.8 劫持JVM
9.9 最终灵活性
9.10 最佳安全性
9.11 第二次做会更好
第10章 元循环虚拟机的力量:JikesRVM
10.1 背景
10.2 与运行时环境相关的传言
10.3 JikesRVM简史
10.4 一个自足执行的运行时自举
10.5 运行时组件
10.6 经验教训
第四部分 最终用户应用架构
第11章 GNUEmacs:滋长的特性是其优势
11.1 使用中的Emacs
11.2 Emacs的架构
11.3 滋长的特性
11.4 另外两个架构
第12章 当集市开始构建教堂
12.1 简介
12.2 KDE项目的历史和组织结构
12.3 Akonadi
12.4 ThreadWeaver
第五部分 语言与架构
第13章 软件架构:面向对象与面向功能
13.1 概述
13.2 示例
13.3 面向功能解决方案的模块性评价
13.4 面向对象视图
13.5 面向对象模块性的评价和改进
13.6 代理:将操作封装到对象中
第14章 重读经典
14.1 所有东西都是对象
14.2 类型是隐式定义的
14.3 问题
14.4 砖块和灰浆建筑架构