描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121338076丛书名: 传世经典书丛
产品特色
编辑推荐
全书传递的架构知识既有高屋建瓴的系统描述,又有深入系统的全面 剖析,全面体现了架构设计中的简洁之美、清晰之美、风格之美、灵活之美和演进之美。评注者用评注的形式,帮助读者更进一步理解经典。
内容简介
这是荟萃了软件架构领域各位思想领袖真知灼见的经典之作,内容覆盖了软件架构的方方面面,包括架构理论、企业架构、系统架构、应用架构等。这些架构大师们用简洁的文本、真实的案例向读者勾勒出美丽架构的模样,并由此提出设计美丽架构的原则、实践与演进过程。
目 录
序 xix
Stephen J. Mellor
前言 xxiii
第1 部分 论架构
第1 章 何谓架构 3
John Klein 与David Weiss
简介 3
创建软件架构 10
架构结构 14
好的架构 19
美丽架构 20
致谢 23
参考文献 23
第2 章 两个系统的故事:摩登时代的软件神话 25
Pete Goodliffe
混乱大都市 26
设计之城 33
然后呢 41
轮到你了 41
参考文献 42
第2 部分 企业应用架构
第3 章 可伸缩架构 45
Jim Waldo
简介 45
上下文 47
架构 51
对架构的思考 57
第4 章 记忆留存 63
Michael Nygard
功能与约束 64
工作流 65
架构要素 66
用户反应 87
结论 88
参考文献 88
第5 章 面向资源架构:在Web 之中 89
Brian Sletten
简介 89
传统的Web 服务 90
Web 92
面向资源架构 98
数据驱动应用 102
运用面向资源架构 103
结论 109
第6 章 数据增长:Facebook 平台的架构 111
Dave Fetterman
简介 111
创建社交Web 服务 117
创建社交数据查询服务 124
创建社交Web 门户:FBML 133
系统的支持功能 146
总结 151
第3 部分 系统架构
第7 章 XEN 与虚拟化之美 155
Derek Murray 与Keir Fraser
简介 155
Xenoservers 156
虚拟化的挑战 159
半虚拟化 159
Xen 的变化 163
变化中的硬件,变化中的Xen 169
前车之鉴 172
延伸阅读 173
第8 章 Guardian:一个容错操作系统环境 175
Greg Lehey
Tandem/16:未来所有计算机都将像这样构建 176
硬件 176
机械设计 178
处理器架构 179
处理器间总线 184
输入/输出 184
进程结构 185
消息系统 186
文件系统 190
逸闻趣事 195
弊端 195
后继者 197
延伸阅读 198
第9 章 JPC:纯Java 的X86 PC 模拟器 199
Rhys Newman 与Christopher Dennis
简介 200
概念验证 202
PC 架构 205
Java 性能技巧 206
4GB 放入4GB:这不会奏效 207
保护模式的危险 210
屡败屡战 214
劫持JVM 217
终极灵活性 229
终极安全性 231
吃一堑长一智 232
第10 章 元循环虚拟机的力量:Jikes RVM 235
Ian Rogers 与Dave Grove
背景 236
运行时环境之谜 237
Jikes RVM 简史 240
自部署运行时的自举 241
运行时组件 246
前车之鉴 259
参考文献 259
第4 部分 终端用户应用架构
第11 章 GNU Emacs:滋生的特性为其优势 263
Jim Blandy
Emacs 在使用 264
Emacs 的架构 266
滋生的特性 272
另外两个架构 275
第12 章 当集市开始构建教堂 279
Till Adam 与Mirko Boehm
简介 279
KDE 项目的历史与架构 282
Akonadi 287
ThreadWeaver 303
第5 部分 语言与架构
第13 章 软件架构:面向对象 vs. 面向函数 315
Bertrand Meyer
概览 315
函数式示例 318
评估函数式解决方案的模块化 321
面向对象视图 330
评估和改进面向对象的模块化 336
代理:将操作包裹到对象中 341
致谢 345
参考文献 346
第14 章 重读经典 349
Panagiotis Louridas
万物皆对象 353
类型被隐式定义 361
问题 367
土木建筑架构 372
参考文献 380
跋 383
William J. Mitchell
贡献者 387
Stephen J. Mellor
前言 xxiii
第1 部分 论架构
第1 章 何谓架构 3
John Klein 与David Weiss
简介 3
创建软件架构 10
架构结构 14
好的架构 19
美丽架构 20
致谢 23
参考文献 23
第2 章 两个系统的故事:摩登时代的软件神话 25
Pete Goodliffe
混乱大都市 26
设计之城 33
然后呢 41
轮到你了 41
参考文献 42
第2 部分 企业应用架构
第3 章 可伸缩架构 45
Jim Waldo
简介 45
上下文 47
架构 51
对架构的思考 57
第4 章 记忆留存 63
Michael Nygard
功能与约束 64
工作流 65
架构要素 66
用户反应 87
结论 88
参考文献 88
第5 章 面向资源架构:在Web 之中 89
Brian Sletten
简介 89
传统的Web 服务 90
Web 92
面向资源架构 98
数据驱动应用 102
运用面向资源架构 103
结论 109
第6 章 数据增长:Facebook 平台的架构 111
Dave Fetterman
简介 111
创建社交Web 服务 117
创建社交数据查询服务 124
创建社交Web 门户:FBML 133
系统的支持功能 146
总结 151
第3 部分 系统架构
第7 章 XEN 与虚拟化之美 155
Derek Murray 与Keir Fraser
简介 155
Xenoservers 156
虚拟化的挑战 159
半虚拟化 159
Xen 的变化 163
变化中的硬件,变化中的Xen 169
前车之鉴 172
延伸阅读 173
第8 章 Guardian:一个容错操作系统环境 175
Greg Lehey
Tandem/16:未来所有计算机都将像这样构建 176
硬件 176
机械设计 178
处理器架构 179
处理器间总线 184
输入/输出 184
进程结构 185
消息系统 186
文件系统 190
逸闻趣事 195
弊端 195
后继者 197
延伸阅读 198
第9 章 JPC:纯Java 的X86 PC 模拟器 199
Rhys Newman 与Christopher Dennis
简介 200
概念验证 202
PC 架构 205
Java 性能技巧 206
4GB 放入4GB:这不会奏效 207
保护模式的危险 210
屡败屡战 214
劫持JVM 217
终极灵活性 229
终极安全性 231
吃一堑长一智 232
第10 章 元循环虚拟机的力量:Jikes RVM 235
Ian Rogers 与Dave Grove
背景 236
运行时环境之谜 237
Jikes RVM 简史 240
自部署运行时的自举 241
运行时组件 246
前车之鉴 259
参考文献 259
第4 部分 终端用户应用架构
第11 章 GNU Emacs:滋生的特性为其优势 263
Jim Blandy
Emacs 在使用 264
Emacs 的架构 266
滋生的特性 272
另外两个架构 275
第12 章 当集市开始构建教堂 279
Till Adam 与Mirko Boehm
简介 279
KDE 项目的历史与架构 282
Akonadi 287
ThreadWeaver 303
第5 部分 语言与架构
第13 章 软件架构:面向对象 vs. 面向函数 315
Bertrand Meyer
概览 315
函数式示例 318
评估函数式解决方案的模块化 321
面向对象视图 330
评估和改进面向对象的模块化 336
代理:将操作包裹到对象中 341
致谢 345
参考文献 346
第14 章 重读经典 349
Panagiotis Louridas
万物皆对象 353
类型被隐式定义 361
问题 367
土木建筑架构 372
参考文献 380
跋 383
William J. Mitchell
贡献者 387
前 言
评注者序
软件架构终归属于工程学的范畴,不能一概以“只可意会不可言传”来搪塞,因为架构知识是可以传递的,架构文档是可以共享的,最重要的是,架构自身是可以评审、验证与实现的。
Stephen J. Mellor 在“Beautiful Architecture”一书的序中,画龙点睛地勾勒出美丽架构的模样,即必须遵循的一些普遍原则,分别为:
●One fact In one place(一处一事实)
● Automatic propagation(自动传播)
● Architecture includes construction(架构包含构建)
● Minimize mechanisms(最小化机制)
● Constuct engines(构建引擎)
● O(G), the order of growth(O(G),增长的阶)
● Resist entropy(抵制熵)
这些原则,其实就是架构师的智慧,没有足够深刻的理解与深入实践,是不可能给出如此言简意赅的架构建议的。按照我的理解,这些普适性原则其实就是在说明所谓美丽的架构,就是简单、一致、适应变化并能去除重复的架构。就如Mellor 所言——美丽的架构能用更少的机制做更多的工作。这就是“Beautiful Architecture”一书不凡的开篇。
若是一本平庸的书,必然会惧怕这样精彩绝伦的序,因为它愈发的美,就愈发能照映出正文的丑;它愈发的言之有物,又愈发会衬托出正文的空洞无味。然而,若是内容是超乎寻常的精彩绝伦,这样的序就无异于锦上添花,珠联璧合了。通透点儿,就是齐活!这就好比一首歌曲的领唱者,倘若一开始就飙出高音,声入云霄。后续跟着唱的人要是没有点儿本事,恐怕就难以为继了;可要都是高手呢?那就真是一场音乐的盛宴了。
“Beautiful Architecture”荟萃了全球最顶级的架构师和意见领袖,他们在这本书中唱出了架构思想、实践与原则的最强音。全书共分为以下5 个主题。
●On Architeture
● Enterprise Application Architecture
● Systems Architecture
●End-User Application Architectures
● Languages and Architecture
这些主题几乎覆盖了软件架构的方方面面,精选的每篇文章可谓字字珠玑,充满了写作者的真知灼见。开卷阅读,如与大师对话,聆听者必须凝神应对,稍不留神就可能遗漏那些重要而正确的意见,影响到对整篇文章的理解。整本书正文不足400 页,然而每次阅读皆有新意,书的内容仿佛博尔赫斯笔下小径分叉的花园,花园虽小,景色却变幻多姿,路途虽短,距离却无穷无尽,咫尺天涯。
因此,作为本书的评注者,真可以说是战战兢兢、如履薄冰。我的每句点评都尽力追求达到个人最大努力的完美,不求锦上添花,只求不得“狗尾续貂”之嫌。安全地说,这些评注不过是我写在这本大书边上的感悟罢了。这些感悟,或是阅读到精彩段落的击节赞叹,或是不明其义而反复研读之后的醍醐灌顶,或是触类旁通体会到架构本质因而不揣冒昧地给出自己的心得体会。在评注过程中,我恪守“扬长避短”的原则,不懂就不装懂,默不作声,当一位沉默的看客;一旦涉猎到自己擅长的部分,却也不妨洋洋洒洒高谈阔论,坦承自己的观点。
对于这些架构领袖们,我怀揣敬意,却也不愿以一种卑微的心态被动接受。我需要做一个具有自己人格和高度的评注者。至于对否,就交给读者诸君对评注再做一次“评注”吧!
张 逸
个人博客:http://zhangyi.xyz
软件架构终归属于工程学的范畴,不能一概以“只可意会不可言传”来搪塞,因为架构知识是可以传递的,架构文档是可以共享的,最重要的是,架构自身是可以评审、验证与实现的。
Stephen J. Mellor 在“Beautiful Architecture”一书的序中,画龙点睛地勾勒出美丽架构的模样,即必须遵循的一些普遍原则,分别为:
●One fact In one place(一处一事实)
● Automatic propagation(自动传播)
● Architecture includes construction(架构包含构建)
● Minimize mechanisms(最小化机制)
● Constuct engines(构建引擎)
● O(G), the order of growth(O(G),增长的阶)
● Resist entropy(抵制熵)
这些原则,其实就是架构师的智慧,没有足够深刻的理解与深入实践,是不可能给出如此言简意赅的架构建议的。按照我的理解,这些普适性原则其实就是在说明所谓美丽的架构,就是简单、一致、适应变化并能去除重复的架构。就如Mellor 所言——美丽的架构能用更少的机制做更多的工作。这就是“Beautiful Architecture”一书不凡的开篇。
若是一本平庸的书,必然会惧怕这样精彩绝伦的序,因为它愈发的美,就愈发能照映出正文的丑;它愈发的言之有物,又愈发会衬托出正文的空洞无味。然而,若是内容是超乎寻常的精彩绝伦,这样的序就无异于锦上添花,珠联璧合了。通透点儿,就是齐活!这就好比一首歌曲的领唱者,倘若一开始就飙出高音,声入云霄。后续跟着唱的人要是没有点儿本事,恐怕就难以为继了;可要都是高手呢?那就真是一场音乐的盛宴了。
“Beautiful Architecture”荟萃了全球最顶级的架构师和意见领袖,他们在这本书中唱出了架构思想、实践与原则的最强音。全书共分为以下5 个主题。
●On Architeture
● Enterprise Application Architecture
● Systems Architecture
●End-User Application Architectures
● Languages and Architecture
这些主题几乎覆盖了软件架构的方方面面,精选的每篇文章可谓字字珠玑,充满了写作者的真知灼见。开卷阅读,如与大师对话,聆听者必须凝神应对,稍不留神就可能遗漏那些重要而正确的意见,影响到对整篇文章的理解。整本书正文不足400 页,然而每次阅读皆有新意,书的内容仿佛博尔赫斯笔下小径分叉的花园,花园虽小,景色却变幻多姿,路途虽短,距离却无穷无尽,咫尺天涯。
因此,作为本书的评注者,真可以说是战战兢兢、如履薄冰。我的每句点评都尽力追求达到个人最大努力的完美,不求锦上添花,只求不得“狗尾续貂”之嫌。安全地说,这些评注不过是我写在这本大书边上的感悟罢了。这些感悟,或是阅读到精彩段落的击节赞叹,或是不明其义而反复研读之后的醍醐灌顶,或是触类旁通体会到架构本质因而不揣冒昧地给出自己的心得体会。在评注过程中,我恪守“扬长避短”的原则,不懂就不装懂,默不作声,当一位沉默的看客;一旦涉猎到自己擅长的部分,却也不妨洋洋洒洒高谈阔论,坦承自己的观点。
对于这些架构领袖们,我怀揣敬意,却也不愿以一种卑微的心态被动接受。我需要做一个具有自己人格和高度的评注者。至于对否,就交给读者诸君对评注再做一次“评注”吧!
张 逸
个人博客:http://zhangyi.xyz
评论
还没有评论。