发表于:2008-1-22 18:11:00
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年之内都不会过时,这是我的保守估计。
——李琨
回复
(
1条评论--

)
正在读取本评论的讨论,请稍侯……