第二书店&China-pub战略联盟提供专业服务

反模式:危机中软件、架构和项目的重构 (2008 年度畅销榜NO.4369 )

会员评价: (共 1 条) 参与评论
原书名: 反模式:危机中软件、架构和项目的重构
原出版社:
作者: (美)布朗(Brown,W.J.) 等著,宋锐 等译
出版社: 人民邮电出版社
书号: 9787115162793 出版日期:2008-1-1 开本: 页码: 216 版次: 点击: 796
所属类别:
市场价: ¥45.00     会员价:¥33.75
模式是可以复用的优秀解决方案。本书从一个新的角度审视模式,提出了反模式的概念,介绍了在软件开发中常常出现的问题——将设计模式错误应用于不适当的上下文环境。首先,定义了软件开发参考模型和文档模板来说明这些反模式。然后,从开发人员角度、架构角度和管理角度三个方面对这些反模式逐一说明,并说明了与特定反模式相关的背景、原因、症状和后果,让读者可以迅速地检验身边的项目是否出现了这些状况,同时也针对每个反模式给出了相应的解决方案。 \r\n  本书适用于从事项目管理和软件开发的相关人员。

用户评论

1995年,GoF(以Erich Gamma为首的“四人帮”)所著的《设计模式——可复用面向对象软件的基础》(Design Patterns--Elements of Reusable Object Oriented Software)一书出版了。这本书在面向对象编程/设计领域具有划时代的意义。不夸张地说,这本书就是面向对象程序员的红宝书,对于面向对象程序员来说,应该人手一册。没有读过这本书,对于面向对象的理解还停留在很低的层次;读过了这本书,才算真正理解了一些面向对象的精华。很自然,这本书一时间洛阳纸贵,后来还陆续出现了很多以不同语言的实例来解释GoF设计模式的著作,例如《Java设计模式》、《C#设计模式》等等。

但是物极必反,任何事情都不能走极端,否则就会造成不良后果。在项目开发不适当的时机使用设计模式,或者在不适当的场合使用设计模式,都会给项目开发带来很多不必要的复杂性,从而增加大量的沟通成本,甚至会严重影响开发效率。以前听说过一个笑话:一个程序员发邮件给Erich Gamma,说在他们最近的一个项目中,他尽力使用了23种GoF设计模式中的21种,还有两种怎么也找不到适用的场合。他感到很苦恼,希望能够得到 Erich的帮助。

这个笑话说的当然是一种最极端的情况。尽管如此,大量的实践证明,不当使用(不适当的时机、不适当的场合)设计模式会给项目开发带来很大的麻烦。自己挖坑把自己埋进去,这是很多一知半解的面向对象架构师经常做的事情。言必称架构、言必称模式正是中毒很深的迹象。

1998 年出版的《反模式——危机中软件、架构和项目的重构》(AntiPatterns——Refactoring Software, Architectures, and Projects in Crisis)这本书对于滥用设计模式的趋势来说可谓是一剂很及时的解毒良药。反模式其实也是一种模式(正如设计模式是一种模式一样),不过它主要考察的是这种模式所带来的不良后果。这本书系统地总结了很多种类的反模式,以及如何识别出这些反模式并且加以避免。这些反模式涵盖了软件开发、软件架构和项目管理等方面。虽然这本书并不是专门针对设计模式展开讨论的,但是不当使用设计模式很多时候都会导致出现反模式。平衡感是优秀的面向对象架构师应该拥有的素质,《反模式》这本书可以使架构师拥有更好的平衡感。

1999年出版的Martin Fowler所著的《重构——改善既有代码的设计》(Refactoring: Improving the Design of Existing Code)这本书对于如何改善现有代码的设计提出了非常具体的解决办法。Martin Fowler在这本书中认为,不应该在最初编码时就使用设计模式,而应该将设计模式作为重构的目标。实际上,设计模式正是Erich等人在对一些开发框架进行重构的过程中总结出来的。后来2004年出版的Joshua Kerievsky所著的《重构与模式》(Refactoring to Patterns)在《重构》的基础上更加详细地探讨了重构与设计模式之间的关系,以及如何在重构的过程中逐渐引入设计模式。

2000年出版的Kent Beck所著的《解析极限编程——拥抱变化》(Extreme Programming explained--Embrace change)响亮地提出了简单设计、不为明天而设计的口号,进一步为滥用设计模式的趋势消了毒。

我并不将这些书看作是彼此独立的著作,而是把它们看作一个系列,因为它们的内容有很大的关联性。这几本书代表了一个伟大的时代。

在这几本书中,国内最晚出版的就是《反模式》,现在它也终于出版了,补上了最后一块拼版。对于国内年轻的面向对象程序员来说,真是一种福气。虽然距离它的英文版出版已经过去了将近10年,现在读起来,其中的内容读起来仍然感觉非常亲切,书中所批判的那些问题在我们周围仍然经常发生。举个例子,尽管《反模式》这本书在1998年就已经指出了委员会设计的严重问题,但是2001年仍然出现了EJB 2这样典型的委员会设计的产品。EJB 2给JavaEE社区带来的危害一直到2005年之后才逐渐消除。为何那些早已指出的问题还会一再重复出现?很显然,这本书说出了一些在软件开发中存在的本质性问题。这是一本非常少见的读第二遍仍然感觉有新意,其价值不会随时间而消退,历久弥新的技术著作。书中的内容今后10年之内都不会过时,这是我的保守估计。

——李琨
发布于2008-1-22 18:20:46
(0)回应 有0人认为此评论有用, 有0人认为没用, 您认为呢?
>>发表评论      >>查看更多评论  

商品意见

>>我要提问  
同类热销商品
您的浏览历史
第二书店联系方式 010-64348411 webmaster@dearbook.com
购买向导 如何付款 如何配送 订单信息 售后服务
购买流程 货到付款 北京用户 订单状态处理 退换货原则
搜索商品 邮局汇款 高校用户Free 如何修改订单 退换货方法
银行电汇 国内用户 查询订单方法 相关问题说明
网上支付 国外用户
其他支付方式
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved .