Recently Updated Pages

第五部分 架构和组织

24. 第24章 架构师在项目中的角色 25. 第25章 架构能力

第六部分 总结

26. 第26章 未来一瞥:量子计算

第15章 软件接口

With Cesare Pautasso 美国国家航空航天局(NASA)损失了其价值 1.25 亿美元的火星气候轨道器,原因是航天器工程师在该航天器发射前交换重要数据时未能从英制单位转换为公制...

第16章 虚拟化

“虚拟”意味着永远不知道你的下一个字节从哪里来。 —— 佚名 在 20 世纪 60 年代,计算领域面临着这样一个难题:如何在一台物理机器上让多个独立的应用程序共享诸如内存、磁盘、I/O 通道...

第17章 云计算和分布式计算

分布式系统是这样一种系统:在其中,一台你甚至都不知道其存在的计算机出现故障,就可能会使你自己的计算机无法使用。 ——莱斯利·兰波特(Leslie Lamport) “云计算” 是指按需提供资...

第18章 移动系统

与 Yazid Hamdi 和 Greg Hartman 合作完成 电话将被用来通知人们电报已发出。 ——亚历山大·格拉汉姆·贝尔(Alexander Graham Bell) 那么,亚历山...

第19章 架构重要需求

软件开发最重要的一个方面是明确你正在尝试构建的东西是什么。 ——比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup),C++ 语言创造者 架构的存在是为了构建满足需求的系统。这里的 ...

第20章 设计架构

与 Humberto Cervantes 合作 设计师知道,不是当没有什么可以添加的时候,而是当没有什么可以删减的时候,他才达到了完美。 ——安托万·德·圣埃克苏佩里(Antoine de S...

第21章 评估架构

医生可以掩埋自己的错误,但建筑师只能建议客户种上藤蔓。 —— 弗兰克・劳埃德・赖特(Frank Lloyd Wright) 在 [第 2 章][ch02] 中,我们提到架构之所以重要的一个主...

第22章 记录架构

文档是你写给未来自己的一封情书。 ——达米安·康威(Damian Conway) 创建一个架构是不够的。必须以一种能让其利益相关者正确使用它来完成工作的方式进行传达。如果你不辞辛苦地创建了一...

第23章 管理架构债务

与 Yuanfang Cai 合作 有些债务在你欠下的时候是有趣的,但当你着手偿还它们的时候,就没有一个是有趣的了。 —— 奥格登·纳什(Ogden Nash) 如果不加以仔细关注并投入的努...

第24章 架构师在项目中的角色

我不知道为什么人们雇了架构师,然后又告诉他们该做什么。 ——弗兰克·盖里(Frank Gehry) 任何在课堂之外进行的架构实践都发生在一个更大的开发项目背景下,而开发项目是由一个或多个组织...

第25章 架构能力

人生苦短,学海无涯。 —— 杰弗里・乔叟(Geoffrey Chaucer) 如果软件架构值得去做,那肯定值得做好。大多数关于架构的文献都集中在技术方面。这并不奇怪,因为它是一门深奥的技术学...

第四部分 可扩展的架构实践

19. 第19章 对架构影响重大的需求 20. 第20章 设计架构 21. 第21章 评估架构 22. 第22章 记录架构 23. 第23章 管理架构债

第26章 未来一瞥:量子计算

[可以将量子计算机与]1903年莱特兄弟在基蒂霍克试飞的飞机相提并论。莱特飞行器勉强离开地面,但它预示着一场革命。 在影响软件架构实践的发展方面,未来会带来什么呢?人类在预测长期未来方面出了...

第1章 什么是软件架构?

我们应成为未来的架构师,而非受害者。 ——R. 巴克敏斯特・富勒(R. Buckminster Fuller) 我们(作者)撰写和你们(读者)阅读一本关于软件架构的书,这本书提炼了许多人的经...

第2章 为什么软件架构很重要?

啊,建造,建造! 这是所有艺术中最崇高的艺术。 —— 亨利・沃兹沃思・朗费罗(Henry Wadsworth Longfellow) 如果架构是答案,那么问题是什么? 本章从技术角度重点关注...

第三部分 架构解决方案

15. 第15章 软件接口 16. 第16章 虚拟化 17. 第17章 云计算和分布式计算 18. 第18章 移动系统

第3章 理解质量属性

第3章 理解质量属性 质量绝非偶然;它始终是高远的意图、真诚的努力、明智的引导以及精湛的执行共同作用的结果。 —— 威廉・A・福斯特(William A. Foster) 许多因素决定了系统...

第4章 可用性

技术并不总是与完美和可靠性相契合。 实际上,二者相差甚远! ——让-米歇尔·雅尔(Jean-Michel Jarre) 可用性是指软件的一种特性,即当你需要软件执行任务时,它能够正常运行并随...