软件架构师应该知道的97件事

出版社:电子工业出版社
出版日期:2010-4
ISBN:9787121106354
作者:Richard Monson-Haefel 编
页数:200页

作者简介

优秀的软件架构师应该既掌握业务知识又具备技术能力,做到这一点绝非易事,本书想要探讨的就是这个主题。这是一本真正的开源图书,我们邀请到50多位杰出的软件架构师参与写作。大家无偿地分享了各自的工作经验和心得,内容从规避风险的方法到组建团队的技巧,涵盖了架构设计的方方面面。衷心希望这97篇文章能激发您的思考,解决您工作中的困惑。
O’reilly第一本开源图书,业界专家集体智慧创作 。
旨在“为全世界的软件架构师提供洞察力和指导”。
集思广益、覆盖面广、写法新颖 。
技术社区及程序员博客热议 。

书籍目录

前言
客户需求重于个人简历
简化根本复杂性,消除偶发复杂性
关键问题可能不是出在技术上
以沟通为中心,坚持简明清晰的表达方式和开明的领导风格
架构决定性能
分析客户需求背后的意义
起立发言
故障终究会发生
我们常常忽略了自己在谈判
量化需求
一行代码比五百行架构说明更有价值
不存在放之四海皆准的解决方案
提前关注性能问题
架构设计要平衡兼顾多方需求
草率提交任务是不负责任的行为
不要在一棵树上吊死
业务目标至上
先确保解决方案简单可用,再考虑通用性和复用性
架构师应该亲力亲为
持续集成
避免进度调整失误
取舍的艺术
打造数据库堡垒
重视不确定性
不要轻易放过不起眼的问题
让大家学会复用
架构里没有大写的“i”
使用“一千英尺高”的视图
先尝试后决策
掌握业务领域知识
程序设计是一种设计
让开发人员自己做主
时间改变一切
设立软件架构专业为时尚早
控制项目规模
架构师不是演员,是管家
软件架构的道德责任
摩天大厦不可伸缩
混合开发的时代已经来临
性能至上
留意架构图里的空白区域
学习软件专业的行话
具体情境决定一切
侏儒、精灵、巫师和国王
向建筑师学习
避免重复
欢迎来到现实世界
仔细观察,别试图控制一切
架构师好比两面神
架构师当聚焦于边界和接口
助力开发团队
记录决策理由
挑战假设尤其是你自己的
分享知识和经验
模式病
不要滥用架构隐喻
关注应用程序的支持和维护
有舍才有得
先考虑原则、公理和类比再考虑个人意见和口味
从“可行走骨架”开始开发应用
数据是核心
确保简单问题有简单的解
架构师首先是开发人员
根据投资回报率(roi)进行决策
一切软件系统都是遗留系统
起码要有两个可选的解决方案
理解变化的影响
你不能不了解硬件
现在走捷径,将来付利息
不要追求“完美”,“足够好”就行
小心“好主意”
内容为王
对商业方,架构师要避免愤世嫉俗
拉伸关键维度,发现设计中的不足
架构师要以自己的编程能力为依托
命名要恰如其分
稳定的问题才能产生高质量的解决方案
天道酬勤
对决策负责
弃聪明,求质朴
精心选择有效技术,绝不轻易抛弃
客户的客户才是你的客户!
事物发展总会出人意料
选择彼此间可协调工作的框架
着重强调项目的商业价值
不仅仅只控制代码,也要控制数据
偿还技术债务
不要急于求解
打造上手(zuhanden)的系统
找到并留住富有激情的问题解决者
软件并非真实的存在
学习新语言
没有永不过时的解决方案
用户接受度问题
清汤的重要启示
对*终用户而言,界面就是系统
优秀软件不是构建出来的,而是培育起来的
索引

编辑推荐

  《软件架构师应该知道的97件事》是本与众不同的技术图书。五十多位作者中不乏像尼尔·福特(Neal Ford)、迈克尔·尼加德(Michael Nygard)、比尔·德·霍拉(Bill de h6ra)这样杰出的软件架构师,大家分享了多年积累的开发经验和工作准则.内容不限于单纯的技术范畴.还涉及如何与各方沟通、如何降低项目的复杂度、怎样强化开发团队等。有代表性的  主题包括:  客户需求重于个人简历 尼廷·博万卡(NitiN Borwa Borlkar)。  关键问题可能不是出在技术上一马克·兰姆(Mark Ra Ramm)。  以沟通为中心,坚持简明清晰的表达方式和开明的领导风格一一马克·理查兹(Mark Rictlards)。  先确保解决方案简单可用,再考虑通用性和复用性  凯佛林·亨尼(Kevlin Henney)。  对最终用户而言,界面就是系统 维纳亚克·赫格德(Vinayak Hegde)。  提前关注性能问题一丽贝卡·帕森斯(Rebecca Parsorls)。  成为出色的软件架构师要既掌握业务知识又具备技术能力。顶尖的软件架构师看重什么7他们如何完成项目7怎样提高自己的工作水平7推荐您阅读《软件架构师应该知道的97件事》。

前言

  97个水晶切面,折射软件架构师的实践智慧  近十数年,全球软件产业已经取得了显著的进步,软件从业人员的数量不断增加,软件项目的规模和复杂度不断攀升,软件开发组织的人员结构也因专业不断细分而日趋复杂。  因兴起时间较晚,发展的时间相对还很短,软件业从建筑业和制造业等其他成熟的工程学科中借用了许多概念和隐喻。“软件架构”和“软件架构师”,便是借用了建筑设计中的概念。从UML(统一建模语言,Unified Modeling Language)和软件模式(Pattern)相关的早期著作中,可以清晰地看到这种概念移用。  借用其他行业的概念会带来一些消极影响。比如在早期阶段,一些“软件工程”研究人员和软件项目管理人员,试图以建筑业的项目管理视角和技术来管理软件项目,制造出了“瀑布式”软件开发过程,给软件业带来了长期的不良影响。但是,经过实践验证,“软件架构”确实推动了软件开发技术的发展,为业界广为采纳并日益受到重视。  现如今,“软件架构师”已成为许多软件开发组织职位模型(Job Model)中的标准设置。“软件架构师”也已成为众多软件开发人员梦寐以求的职业巅峰目标之一。  业界许多大师和专家总结分享了他们在软件架构设计方面的技术和经验。在软件技术书籍市场上,已经可以找到许多与“软件架构”主题相关的书籍。  不过,现有的软件架构书籍从技术视角进行总结阐述的居多,如已有5卷本行世的《基于模式的软件架构 (Pattern-Oriented Software Architecture,POSA) 》,主要阐述的是软件架构的风格、解决特定问题或特定领域的软件架构设计技术与模式等。这些书籍当然都非常有益,甚至,可以说成为了软件架构师的必读书目。  但是,即使已经将这些软件架构设计的技术、模式烂熟于胸,可能还无法保证你能够成为优秀的软件架构师。  为何会这样?  正如《建筑十书》的作者、古罗马著名建筑师维特鲁威所说:“理想的建筑师应该既是文学家又是数学家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。”  优秀的软件架构师,必须多才多艺、成熟练达、经验丰富,具备极强的洞察力,能够领导和提升软件开发团队,去构建整齐有序、均衡合理、可持续发展演化的虚拟数字世界中的伟大建筑——优秀杰出的软件产品。  本书提供了分享软件架构知识的新方式,拓宽了阐述软件架构艺术的视角,总结了50多位经验丰富的软件架构师的实践经验,范围覆盖了软件架构师的职业操守、技术技能、思维模式、领导力、和客户的沟通交流、权衡利弊的平衡感等主题。  全书由97篇格言式散文构成,没有高调的说教,没有抽象的术语,而是以平实、幽默、智慧的笔触,将他们认为对成为优秀软件架构师而言至为重要的精髓和盘托出。全书犹如一块玲珑剔透的水晶,97个切面折射出来的都是出自一线软件架构师的专业智慧。  本书第1~49篇由徐定翔翻译,第50~97篇由章显洲翻译。我们在翻译的过程中得到了许多人的帮助。余晟认真审校了全书的译稿,细致地指出了我们翻译不当之处;郑兆昭老师对书稿的润色让我们受益匪浅;统稿编辑白爱萍一次又一次容忍了我们修改定稿的要求。最后要感谢家人给予我们的宽容和支持,使我们能够安心埋首于书稿中。

内容概要

蒙森-哈斐尔,O’Reilly出版的Enterprise JavaBeans和Java Message Service,First Edition两本书的合著者之一,企业计算领域全球领先的专家。

章节摘录

  客户需求重于个人简历  作为工程师,我们常常要向客户推荐技术、手段,甚至方法论来解决问题。但有时我们心里不是想寻求解决问题的最佳方案,而是希望借此丰富自己的简历。这样做很可能得不偿失。  积累一批满意的客户,选择切合实际的技术解决他们的难题,让他们乐于推荐你,才是最好的履历。信誉远胜过时髦的编程技巧和流行的范式。掌握最新的技术趋势,与时俱进固然重要,但不能让客户为此买单。作为架构师,职业操守绝不能忘。公司托付重任给你,是期望你恪尽职守,不受利益诱惑。如果你觉得项目不够尖端,挑战性不足,无法满足职业发展的需要,大可另栖高枝,另谋高就。  万一你别无选择,必须参与这样的项目,不要为简历所累。忍痛割爱放弃时髦光鲜的方案确实不容易(哪怕它们并不适合当前的项目),但只有脚踏实地替客户着想,最后才能皆大欢喜。  选择正确的解决方案可以降低项目的压力,团队工作起来更开心,客户也更满意。你会有更充裕的时间,既可以钻研现有技术,也可以利用空闲时间学习新知识,甚至重拾向往已久的业余爱好。家人察觉你的变化后,也会感到欣慰。  把客户的长远需求摆在自己的短期利益之上,才能立于不败之地。

图书封面


 软件架构师应该知道的97件事下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计16条)

  •     收到编辑的豆邮说让我把博客上的关于这本书的内容发上来。不过考虑到博客内容中有严重的情节透漏,不发了,大家自己看吧。http://www.mikespook.com/index.php/archives/563然后,在这里手痒,评评这本书吧。先说说不好的地方。对于一个值得力荐的书来说,不好的地方很难找到。不过这本书有个很大的缺点是——太厚、太大。像这种前人总结的 Tip,是在是应该时时读,时时看的。就像当年读XX语录一样。但是书的排版浪费了很多印刷空间,导致书的页数和尺寸都不适宜作为 pocket book 来阅读。好的地方,更难说了。每个标题的背后一定都有一个实际的故事,成功的或者失败的。任何一个有过实际工作经验的技术人员,看到每个标题一定都会有共鸣——“啊!的确是这样,如果当时明白这个道理,那个项目就不会失败了……”所以说,这本书,有经验的人读是非常好的。因为立刻可以让自己的经验上升一个层次,在大牛的指引下总结、精炼。而没经验的人读,其实也是有必要的。先了解别人的总结,然后再自己做的时候将别人的总结变成自己的经验。这样少走弯路,个人提升更快。总之,成功的架构师的历程都不一样,但是他们所关注的事情、他们的目标是一样的。
  •     边看边作笔记,2个月的时间,终于完成了……感觉里面重复的条目太多了,N多条目是在讲不要过度设计,另有N多条目是在讲敏捷的概念,先弄个原型,然后小步快跑,不断得到反馈,再作用到项目中……所以,细看每一条的话,感觉有点浪费时间,不过有些条目还是可圈可点的。。。总的来说还行,有一小部分是亮点,大部分比较普通
  •     本来标题是短小精悍,想想,短小是事实,精悍就未必了。只好拿掉,添上了坏处也是几个字。也许是这些国外的架构师们所说所言,早已是不争的事实,亦或是我早已了然的玩意,所以本书读起来,让我毫无惊喜可言,几乎连点头的欲望都没有,就好像有人告诉你,纽约在美国,你只会“哦”的应一声,如此而已。其实我是很喜欢这种短小的书的,因为所谓道理,真言,本来就是几句话能说得清楚的事,不需要也没必要弄个大部头出来,只是这书的厚度比我想象的要厚,97件事,保证每件事都占两页,这样就凑出了接近200页的篇幅,当然,中间大段的留白是必不可少的。很多人诟病这点,其实大可不必,如果你认为知识是无价的,让出版商赚那么一点点,又何足道哉。于我,遗憾的是,此书的文字不够动人,道理不够新颖,理论不够独特,所以无法一口气读完。我的一个结论是,所有无法一口气读完,或者无法让我产生一口气的欲望的书,只能是中等,算不得上乘。

精彩短评 (总计54条)

  •     觉得一般,每篇文章都很小,实例少。虽然很有道理,但还是觉得有些乏味
  •     相比其他大师访谈类图书,这本要务实些。
  •     远达不到夹沟师的高度!
  •     书大概翻了一半,内容基本上是各家的警示录。适合做笔记把观点罗列出来,以后遇到问题时给自己敲一下警钟。
  •     架构师很多阵容很强大,提到东西有点咋有点多
  •     短文集,翻译不错,可以拿来洗洗脑...
  •     《软件架构师应该知道的97件事》是一本协作方式写出来的书,英文原文免费发布在O'Reilly的维基上,《97 Things Every Software Architect Should Know - The Book》,感觉很不错,说的在理,都是该做的事情。 http://blog.sina.com.cn/s/blog_53f8ff9d0100m7ql.html
  •     97个实践智慧,前辈一一提点,非技术亦非非技术...
  •     : TP311.5/4941
  •     软件架构师应该知道的97件事
  •     两页就是一本书,等于97本书,赞
  •     总结的很不错,大部分是很实用的,说易行难,天道酬勤,自强不息。
  •     前半本翻的流畅,不乏神来之笔,是睡前的好消遣。后半本味同嚼蜡,有助睡眠。前半本4星,后半本2星。
  •     总结了一些架构师需要关注的点,绝大部分显而易见
  •     小小的一本书,覆盖面很广,一篇一篇的小散文,特别适合在时间碎片里阅读,大片大片的时间里思考、实践。
  •     大概看了看,都是点,不系统,可以当成茶余饭后的小思考练习,不适合一段时间读完的书。
  •     读了等于没读
  •     没有体会,所以没什么理解,书本身很薄,可以一看。
  •     各家之言, 有点不务实, 看看而已
  •     架构师的日常
  •     大致了解了一下
  •     只在互联网公司待过,没领略过真正架构师的风采。不是很搞得懂,互联网领域的架构就那么回事。
  •     浙江图书馆
  •     受益良多。总结起来有几个需要注意的:沟通,适度的隐喻,持续集成,频繁交付,拥抱变化,不要过度设计。有空再看英文版
  •     吉光片羽啊,大家高手的点滴,只能远观。
  •     软件架构很多东西,是需要自己去感受去理解的,不经历就不会有刻骨铭心的印象。当然,作为一只程序猿,了解架构师的想法是必要的,如果你不追求做的更好,就会停滞不前。这本书的很多东西我还不能很好理解,做了了解吧。
  •     架构师的经验分享
  •     咋说 嘞
  •     没做过架构,没有发言权啊。感觉里面的理论,概念有点大,鄙人理解不了啊!
  •     感觉是开发经理要读的书,而不是架构师要读的
  •     很不错,真的是很喜欢
  •     散文 + 语录,信息熵极大。
  •     他山之石!
  •     和jole谈软件一样,算是专家经验之谈。很薄,读起来快,忘起来也快 :(
  •     同事说是好书
  •     很多建议很实在
  •     挺不错,与技术无关,又与技术相同,很多问题在我的工作中出现过,一些我想到的解决方法,一些我一直都很困惑,在这本书里面,一些得到了印证,一些得已解决;
  •     常读常新的书,拿来考虑沟通问题很合适。就像前两天我发现的CEO和创始人的不同侧重点一样,这书里很多也都是可以让开发人员和架构师互相理解的视角。另摘:情境意识是指在给定情境下对合理性的把握;要多才多艺;数据库也许不适应于敏捷方法开发;架构的重要性由变更决策的代价来衡量;程序设计是设计范畴,而不是生产范畴…
  •     软件工程随想
  •     javascript:;
  •     值得一读,有很多经验值得反复体味。
  •     很多事情应该是要变为设计人员的潜意识。
  •     简单的人生鸡汤时描述,不过有一些确实不错!适合闲暇的时候随便翻阅,不涉及技术,读起来很轻松!
  •     看的是原版的
  •     感觉一般。。。。。
  •     虽然是个很俗的名字,抱着读一下也不会死的想法试读了几篇,好像还不错。
  •     一些小贴士,就像是字典一样。
  •     翻了一下, 都是一些不同的作者写的短文, 觉的意思不大.
  •     一切从细节,吸取经验
  •     每人一页,当小品读了
  •     产品经理和架构师有很多相通之处
  •     不是讲技术的书,更像是各路神仙的访谈录,读完也很难列出到底架构师应该知道 1234 哪几项事情,但各种视角和观点说不定哪一句让人醍醐灌顶,哪一句让人心有戚戚焉;翻得比较快,希望以后再翻时能有不同的体会。
  •      确保简单问题有简单的解; 简单问题使用简单解,听起来容易做起来难。架构师经常出于炫技心理,容易过 度设计。架构师会从主观的判断或潜在不确定需求出发,产生调整解决方案的强 烈冲动。不要试图猜测未来的需求,错的概率是 50%,错的离谱的概率是 49%。 不要从主观猜测未来需求,而是从反馈中不断生成真实的需求。 客户的客户才是你的客户
  •     看的很仓促
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024