反模式

出版社:人民邮电
出版日期:2008-1
ISBN:9787115162793
作者:布朗
页数:216页

作者简介

《反模式危机中软件架构和项目的重构》从一个新的角度审视模式,提出了反模式的概念,介绍了在软件开发中常常出现的问题。将设计模式错误应用于不适当的上下文环境。首先,定义了软件开发参考模型和文档模板来说明这些反模式。然后,从开发人员角度、架构角度和管理角度三个方面对这些反模式逐一说明,并说明了与特定反模式相关的背景、原因、症状和后果,让读者可以迅速地检验身边的项目是否出现了这些状况,同时也针对每个反模式给出了相应的解决方案。

书籍目录

第一部分 反模式绪论第1章 模式与反模式简介 31.1 反模式就是揭露假象 31.2 反模式的概念 61.3 反模式的由来 71.4 本书组织结构 10第2章 反模式参考模型 112.1 视角 132.2 根源 142.2.1 匆忙 142.2.2 漠然 152.2.3 思想狭隘 162.2.4 懒惰 162.2.5 贪婪 172.2.6 无知 182.2.7 自负 182.3 原力 192.4 软件设计层次模型 252.4.1 对象层 282.4.2 微架构层 282.4.3 框架层 282.4.4 应用层 292.4.5 系统层 292.4.6 企业层 312.4.7 全球层 322.4.8 设计层次小结 322.5 架构规模和原力 33第3章 模式和反模式的模板 353.1 退化形式 353.2 Alexander形式 363.3 最小化模板(微型模式) 363.4 小型模式模板 363.4.1 归纳式小型模式 373.4.2 演绎式小型模式 373.5 正式模板 373.5.1 GoF模板 373.5.2 模式系统模板 383.6 对设计模式模板的反思 383.7 反模式模板 393.7.1 伪反模式模板 403.7.2 小型反模式 403.8 完整的反模式模板 40第4章 对使用反模式的建议 434.1 机能不良环境 434.2 反模式与变化 444.3 编写新反模式 454.4 小结 46第二部分 反模式第5章 软件开发性反模式 495.1 软件重构 495.2 开发性反模式摘要 505.3 The Blob(胖球) 525.3.1 背景 525.3.2 一般形式 535.3.3 症状和后果 545.3.4 典型原因 545.3.5 已知例外 555.3.6 重构方案 555.3.7 变化 585.3.8 对其他视角和规模的适用性 595.3.9 示例 595.4 Lava Flow(岩浆流) 625.4.1 背景 625.4.2 一般形式 635.4.3 症状和后果 655.4.4 典型原因 655.4.5 已知例外 665.4.6 重构方案 665.4.7 示例 665.4.8 相关解决方案 675.4.9 对其他视角和规模的适用性 675.5 Functional Decomposition(功能分解) 695.5.1 背景 695.5.2 一般形式 695.5.3 症状和后果 695.5.4 典型原因 705.5.5 已知例外 705.5.6 重构方案 705.5.7 示例 715.5.8 相关解决方案 725.5.9 对其他视角和规模的适用性 725.6 Poltergeist(恶作剧鬼) 735.6.1 背景 735.6.2 一般形式 735.6.3 症状和后果 745.6.4 典型原因 755.6.5 已知例外 755.6.6 重构方案 755.6.7 示例 755.6.8 相关解决方案 765.6.9 对其他视角和规模的适用性 765.7 Golden Hammer(金锤) 785.7.1 背景 785.7.2 一般形式 795.7.3 症状和后果 795.7.4 典型原因 795.7.5 已知例外 795.7.6 重构方案 805.7.7 变化 815.7.8 示例 815.7.9 相关方案 815.8 Spaghetti Code(面条代码) 835.8.1 背景 835.8.2 一般形式 835.8.3 症状和后果 835.8.4 典型原因 845.8.5 已知例外 845.8.6 重构方案 845.8.7 示例 865.8.8 相关解决方案 895.9 Cut-And-Paste Programming(剪贴编程) 925.9.1 背景 925.9.2 一般形式 925.9.3 症状和后果 925.9.4 典型原因 935.9.5 已知例外 935.9.6 重构方案 935.9.7 示例 945.9.8 相关解决方案 95第6章 软件架构性反模式 976.1 架构性反模式摘要 986.2 Stovepipe Enterprise(烟囱企业) 1006.2.1 背景 1006.2.2 一般形式 1006.2.3 症状和后果 1016.2.4 典型原因 1016.2.5 已知例外 1016.2.6 重构方案 1026.2.7 示例 1056.2.8 相关解决方案 1066.2.9 对其他视角和规模的适用性 1076.3 Stovepipe System(烟囱系统) 1086.3.1 背景 1086.3.2 一般形式 1086.3.3 症状和后果 1096.3.4 典型原因 1096.3.5 已知例外 1096.3.6 重构方案 1096.3.7 示例 1106.3.8 相关解决方案 1126.3.9 对其他视角和规模的适用性 1126.4 Vendor Lock-In(供应商锁定) 1136.4.1 背景 1136.4.2 一般形式 1146.4.3 症状和后果 1146.4.4 典型原因 1146.4.5 已知例外 1156.4.6 重构方案 1156.4.7 变化 1166.4.8 示例 1176.4.9 相关解决方案 1176.4.10 对其他视角和规模的适用性 1176.5 Architecture By Implication(实现主导架构) 1206.5.1 背景 1206.5.2 一般形式 1206.5.3 症状和后果 1216.5.4 典型原因 1216.5.5 已知例外 1216.5.6 重构方案 1226.5.7 变化 1236.5.8 示例 1236.5.9 相关解决方案 1246.5.10 对其他视角和规模的适用性 1246.6 Design By Committee(委员会设计) 1266.6.1 背景 1266.6.2 一般形式 1266.6.3 症状和后果 1266.6.4 典型原因 1276.6.5 已知例外 1276.6.6 重构方案 1276.6.7 变化 1296.6.8 示例 1296.6.9 相关解决方案、模式和反模式 1316.6.10 对其他视角和规模的适用性 1326.7 Reinvent The Wheel(重新发明轮子) 1346.7.1 背景 1346.7.2 一般形式 1346.7.3 症状和后果 1356.7.4 典型原因 1356.7.5 已知例外 1356.7.6 重构方案 1356.7.7 变化 1366.7.8 示例 1376.7.9 相关解决方案 1396.7.10 对其他视角和规模的适用性 139第7章 软件项目管理性反模式 1417.1 管理角色的转变 1417.2 管理性反模式摘要 1427.3 Analysis Paralysis(分析瘫痪) 1457.3.1 背景 1457.3.2 一般形式 1457.3.3 症状和后果 1467.3.4 典型原因 1467.3.5 已知例外 1477.3.6 重构方案 1477.4 Death By Planning(规划致死) 1497.4.1 背景 1497.4.2 一般形式 1497.4.3 症状和后果 1517.4.4 典型原因 1527.4.5 已知例外 1527.4.6 重构方案 1527.4.7 变化 1547.4.8 示例 1567.4.9 相关解决方案 1577.4.10 对其他视角和规模的适用性 1587.5 Corncob(玉米棒子) 1597.5.1 背景 1597.5.2 一般形式 1597.5.3 症状和后果 1597.5.4 典型原因 1607.5.5 已知例外 1607.5.6 重构方案 1607.5.7 变化 1617.5.8 示例 1637.5.9 相关解决方案 1637.5.10 对其他视角和规模的适用性 1637.6 Irrational Management(非理性管理) 1657.6.1 背景 1657.6.2 一般形式 1657.6.3 症状和后果 1667.6.4 典型原因 1667.6.5 已知例外 1667.6.6 重构方案 1667.6.7 变化 1697.6.8 示例 1697.7 Project Mismanagement(项目管理不善) 1727.7.1 背景 1727.7.2 一般形式 1727.7.3 症状和后果 1737.7.4 典型原因 1737.7.5 已知例外 1737.7.6 重构方案 1737.7.7 变化 1747.7.8 示例 1757.7.9 相关解决方案 176第三部分 结论和资源附录A 反模式大纲 181附录B 反模式术语表 187附录C 缩略语 191附录D 参考文献 193索引 199

编辑推荐

《反模式危机中软件架构和项目的重构》适用于从事项目管理和软件开发的相关人员。

内容概要

William J.Brown曾任Saga软件公司研发总监和OMG金融业工作组主席。擅长金融行业大型软件系统的开发。

图书封面


 反模式下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计6条)

  •     看了下,有点看不下去不知道是不是翻译和文化的原因,本应该是比较有趣和顺畅的,中译本读起来有点晦涩。书的前三分之一都再说一些概念,无非就是“反模式”是开发中糟糕的模式,以及出现反模式的原因,也无非就是懒惰,无知,贪婪,匆忙... 然后就讲了一系列的反模式,其实就是对面向过程开发人员转到面向对象后可能会出现的一些列问题,但是他的每个模式讲的极其简单。其实说到底就是缺少面向对象的思想。
  •     怎么说呢?书绝对是好书,可惜的是这真的不适合当作自学或教科书,无愧于它的生产效能大奖阿。如果你没有项目的经验,那么这本书真的不适合你,不要再浪费时间了。每一个反模式,作者都写的简短而有力,如果你有过实际的经验,我相信你读过之后都会有一拍脑袋,醍醐灌顶,恍然大悟的那种感觉。作者深厚的实践功底为这本书灌注了活力,尤其当你还在项目中时,仿佛你正对话于一个经验丰富的架构师,从中的获得可想而知。
  •     无论是普通开发人员,还是各级技术管理人员,都值得一读,并以此总结反省自己。唯一的缺点是那些模式的名字取得太晦涩。

精彩短评 (总计32条)

  •     精通设计模式的人,这些应该都会想到!当然,买了这本书就直接学会了,适合我这种懒人!书的确是贵!
  •     软件工程经典,值得收藏!
  •     给五星,后面部分还不太懂。。
  •     失望,读完一遍没什么收获,白开水的感觉,也许是我还没到那个水平吧
  •     对项目管理,开发过程中提出了很多反模式,以后可别做反模式哦
  •     从第4章开始,读得冷汗直下...
  •     排除能力问题,反模式有如下原因: 1、由于开发人员追求短期进度,降低了软件的可修改性。 2、开发人员忽略了软件的非功能性需求,导致产品质量低下。 3、利益相关者之间失败的沟通和协作,使得管理过程滞后于开发过程。
  •     1995年,GoF(以Erich Gamma为首的“四人帮”)所著的《设计模式——可复用面向对象软件的基础》(Design Patterns--Elements of Reusable Object Oriented... 阅读更多
  •     不必读
  •     从编码设计,架构,管理三个层次来讲述项目失败的各种反“模式”,并给出解决方案或重构方案,个人认为架构与管理两个层次讲解得出色一些。
  •     主要是经典问题。翻译有一些错误。
  •     未给满分实在是由于原书年代过于久远了,书中个别模式已经过时。著书时间正是面向对象大力受到推崇的年代,而如今似乎是函数式编程又开始重新受到青睐了。真是十年河东,十年河西。
  •     自作聪明后大吃苦头,需要好好看看这本书
  •     苦涩
  •     没有什么太大的感觉,可能是因为我道行还是太浅吧
  •     对corba的溢美之词颇多,对于面向对象带有宗教般的感情,带着批判的态度来看吧,总的来讲,还是一本不错的书
  •     从项目管理,到代码上设计出现的一些不好的模式
  •     好书! 失败的案例,我们学到更多。 但是无可辩驳的是, 我们还在不断的重复书中的那些失败的模式。
  •     还是很多没有深切的体会到 改天再读
  •     浙江图书馆
  •     摔完跟头你再回来看,会后大悔
  •     e文太密
  •     把简单的东西弄得晦涩难懂
  •     想再读一遍
  •     归纳了常见问题,但是对于问题的解决方案过于抽象,可操作性不高。
  •     本来是满心期待的。这本书也快绝版了,在亚马逊第三方“高价”买的。很失望。一个是空,第一部分典型的中国教科书风格。一个是老,软件开发性反模式很大部分聚焦于非面向对象程序员使用面向对象技术产生的问题。还有就是阅读体验非常差,这部分归咎于翻译的原因。比如可以把Architecture By Implication翻译成“实现主导架构”。最大的价值在于提出了这些模式术语,仅此而已。
  •     给我一个感觉,对于我们这种没有实际生产经验的人,真的是没什么大的作用,留着以后看
  •     此书竟然绝版,不可思议
  •     印象比较深刻的反模式: 手把手教你如何制造一颗原子弹(从头做起只需7天【重新发明车轮模式】); 一个超级大类(混球模式); 这些10年都没动过的代码天知道会有什么表现,保留吧(岩浆流模式); 我们有一个计划,这个计划能拯救我们(一切都会按计划模式); ……
  •     : TP311.52/4237-2
  •     216页的书,只有180多页有用的...
  •     少了点儿,开头废话多,细节少
 

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

PDF下载网 @ 2024