《软件架构师应该知道的97件事》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)蒙森-哈斐尔编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121106354
  • 页数:200 页
图书介绍:优秀的软件架构师应该同时掌握业务知识和技术能力,做到这一点绝非易事,本书想要探讨的就是这个主题。这是一本真正的开源图书,我们邀请到50多位杰出的软件架构师参与写作。大家无偿地分享了各自的工作经验和心得,内容从规避风险的方法到组建团队的技巧,涵盖了架构设计的方方面面。衷心希望这97篇文章能激发您的思考,解决您工作中的困惑。

前言 1

客户需求重于个人简历&尼廷·博万卡(Nitin Borwankar) 2

简化根本复杂性,消除偶发复杂性&尼尔·福特(Neal Ford) 4

关键问题可能不是出在技术上&马克·兰姆(Mark Ramm) 6

以沟通为中心,坚持简明清晰的表达方式和开明的领导风格&马克·理查兹(Mark Richards) 8

架构决定性能&兰迪·斯塔福德(Randy Stafford) 10

分析客户需求背后的意义&埃纳尔·兰德雷(Einar Landre) 12

起立发言&乌迪·大汉(Udi Dahan) 14

故障终究会发生&迈克尔·尼加德(Michael Nygard) 16

我们常常忽略了自己在谈判&迈克尔·尼加德(Michael Nygard) 18

量化需求&基思·布雷思韦特(Keith Braithwaite) 20

一行代码比五百行架构说明更有价值&艾利森·兰德尔(Allison Randal) 22

不存在放之四海皆准的解决方案&兰迪·斯塔福德(Randy Stafford) 24

提前关注性能问题&丽贝卡·帕森斯(Rebecca Parsons) 26

架构设计要平衡兼顾多方需求&兰迪·斯塔福德(Randy Stafford) 28

草率提交任务是不负责任的行为&尼克拉斯·尼尔森(Niclas Nilsson) 30

不要在一棵树上吊死&基思·布雷思韦特(Keith Braithwaite) 32

业务目标至上&戴夫·缪尔黑德(Dave Muirhead) 34

先确保解决方案简单可用,再考虑通用性和复用性&凯佛林·亨尼(Kevlin Henney) 36

架构师应该亲力亲为&约翰·戴维斯(John Davies) 38

持续集成&大卫·巴特利(David Bartlett) 40

避免进度调整失误&诺曼·卡诺瓦利(Norman Carnovale) 42

取舍的艺术&马克·理查兹(Mark Richards) 44

打造数据库堡垒&丹·恰克(Dan Chak) 46

重视不确定性&凯佛林·亨尼(Kevlin Henney) 48

不要轻易放过不起眼的问题&戴夫·奎克(Dave Quick) 50

让大家学会复用&杰里米·迈耶(Jeremy Meyer) 52

架构里没有大写的“I”&戴夫·奎克(Dave Quick) 54

使用“一千英尺高”的视图&埃里克·多伦伯格(Erik Doernenburg) 56

先尝试后决策&埃里克·多伦伯格(Erik Doernenburg) 58

掌握业务领域知识&马克·理查兹(Mark Richards) 60

程序设计是一种设计&埃纳尔·兰德雷(Einar Landre) 62

让开发人员自己做主&菲利普·尼尔森(Philip Nelson) 64

时间改变一切&菲利普·尼尔森(Philip Nelson) 66

设立软件架构专业为时尚早&巴里·霍金斯(Barry Hawkins) 68

控制项目规模&大卫·奎克(Dave Quick) 70

架构师不是演员,是管家&巴里·霍金斯(Barry Hawkins) 72

软件架构的道德责任&迈克尔·尼加德(Michael Nygard) 74

摩天大厦不可伸缩&迈克尔·尼加德(Michael Nygard) 76

混合开发的时代已经来临&爱德华·加森(Edward Garson) 78

性能至上&克雷格·罗素(Craig Russell) 80

留意架构图里的空白区域&迈克尔·尼加德(Michael Nygard) 82

学习软件专业的行话&马克·理查兹(Mark Richards) 84

具体情境决定一切&爱德华·加森(Edward Garson) 86

侏儒、精灵、巫师和国王&埃文·考夫斯基(Evan Cofsky) 88

向建筑师学习&基思·布雷思韦特(Keith Braithwaite) 90

避免重复&尼克拉斯·尼尔森(Niclas Nilsson) 92

欢迎来到现实世界&格雷戈尔·侯珀(Gregor Hohpe) 94

仔细观察,别试图控制一切&格雷戈尔·侯珀(Gregor Hohpe) 96

架构师好比两面神&大卫·巴特利(David Bartlett) 98

架构师当聚焦于边界和接口&埃纳尔·兰德雷(Einar Landre) 100

助力开发团队&蒂莫西·海伊(Timothy High) 102

记录决策理由&蒂莫西·海伊(Timothy High) 104

挑战假设,尤其是你自己的&蒂莫西·海伊(Timothy High) 106

分享知识和经验&保罗·W·霍默(Paul W.Homer) 108

模式病&查德·拉·瓦因(Chad La Vigne) 110

不要滥用架构隐喻&戴维·英格(David Ing) 112

关注应用程序的支持和维护&门西蒂西·卡斯珀(Mncedisi Kasper) 114

有舍才有得&比尔·德·霍拉(Bill de h?ra) 116

先考虑原则、公理和类比,再考虑个人意见和口味&迈克尔·哈默(Michael Harmer) 118

从“可行走骨架”开始开发应用&克林特·尚克(Clint Shank) 120

数据是核心&保罗·W·霍默(Paul W.Homer) 122

确保简单问题有简单的解&查德·拉·瓦因(Chad La Vigne) 124

架构师首先是开发人员&迈克·布朗(Mike Brown) 126

根据投资回报率(ROI)进行决策&乔治·马拉米迪斯(George Malamidis) 128

一切软件系统都是遗留系统&戴夫·安德森(Dave Anderson) 130

起码要有两个可选的解决方案&蒂莫西·海伊(Timothy High) 132

理解变化的影响&道格·克劳福德(Doug Crawford) 134

你不能不了解硬件&卡迈尔·威克拉玛纳亚克(Kamal Wickramanayake) 136

现在走捷径,将来付利息&斯科特·麦克菲(Scot Mcphee) 138

不要追求“完美”,“足够好”就行&格雷格·纽伯格(Greg Nyberg) 140

小心“好主意”&格雷格·纽伯格(Greg Nyberg) 142

内容为王&朱宾·沃迪亚(Zubin Wadia) 144

对商业方,架构师要避免愤世嫉俗&查德·拉·瓦因(Chad La Vigne) 146

拉伸关键维度,发现设计中的不足&斯蒂芬·琼斯(Stephen Jones) 148

架构师要以自己的编程能力为依托&迈克·布朗(Mike Brown) 150

命名要恰如其分&萨姆·加德纳(Sam Gardiner) 152

稳定的问题才能产生高质量的解决方案&萨姆·加德纳(Sam Gardiner) 154

天道酬勤&布赖恩·哈特(Brian Hart) 156

对决策负责&周异(Yi Zhou) 158

弃聪明,求质朴&埃本·休伊特(Eben Hewitt) 160

精心选择有效技术,绝不轻易抛弃&查德·拉·瓦因(Chad La Vigne) 162

客户的客户才是你的客户!&埃本·休伊特(Eben Hewitt) 164

事物发展总会出人意料&彼得·吉拉德莫斯(Peter Gillard-Moss) 166

选择彼此间可协调工作的框架&埃里克·霍索恩(Eric Hawthorne) 168

着重强调项目的商业价值&周异(Yi Zhou) 170

不仅仅只控制代码,也要控制数据&查德·拉·瓦因(Chad La Vigne) 172

偿还技术债务&伯克哈特·赫夫纳盖尔(Burkhardt Hufnagel) 174

不要急于求解&埃本·休伊特(Eben Hewitt) 176

打造上手(Zuhanden)的系统&基思·布雷思韦特(Keith Braithwaite) 178

找到并留住富有激情的问题解决者&查德·拉·瓦因(Chad La Vigne) 180

软件并非真实的存在&查德·拉·瓦因(Chad La Vigne) 182

学习新语言&伯克哈特·赫夫纳盖尔(Burkhardt Hufnagel) 184

没有永不过时的解决方案&理查德·蒙森-哈费尔(Richard Monson-Haefel) 186

用户接受度问题&诺曼·卡诺瓦利(Norman Carnovale) 188

清汤的重要启示&埃本·休伊特(Eben Hewitt) 190

对最终用户而言,界面就是系统&维纳亚克·赫格德(Vinayak Hegde) 192

优秀软件不是构建出来的,而是培育起来的&比尔·德·霍拉(Bill deh?ra) 194

索引 196