致 谢

在本书的写作和出版过程中,很多人伸出了援手,这里要真诚地感谢他们的帮助和支持。

首先,要感谢给予我们编写本书的灵感的人,其中包括 Grady Booch、David Parnas、MartinFowler、Bob Martin、Stéphane Ducasse、Erich Gamma、Ward Cunningham 和 Kent Beck 等软件设计和重构领域的开路先锋。通过阅读他们的书籍、文章和博客,我们对软件设计概念有了更深入的认识。

其次,要感谢在本书编写过程中所有帮助过我们的人。这里要深深地感谢与我们分享经历和难忘故事的人,这包括我们开展的培训课程的参与者、我们建立的坏味论坛的参与者,以及在各种会议和活动中同我们交流过的人。

还要感谢本书的技术审阅人 Grady Booch、Stéphane Ducasse 和 Michael Feathers,他们批判性的分析和一丝不苟的审阅极大地改善了本书的质量。感谢 Venkat Subramaniam 提供宝贵的审阅评论和建议。另外,感谢我们的朋友 Vishal Biyani、Nandini Rajagopalan 和 SricharanPamudurthi,抽出宝贵的时间阅读书稿,并提供深思熟虑的反馈意见。

我们非常感激 Grady Booch 和 Stéphane Duccase 对本书的价值深信不疑并欣然作序。

如果没有 Morgan Kaufmann/Elsevier 整个团队的大力帮助和支持,本书就不可能付梓。特别感谢 Todd Green 对我们想法的信任,并在整个成书过程中始终如一地给予大力支持。还要真诚地感谢 Lindsay Lawrence 在整个出版过程中提供支持。另外,感谢 Punithavathy Govindaradjane及其团队在印制过程中提供帮助。最后,感谢设计师 Mark Rogers 出色的设计工作。

最后,感谢在本书写作期间给予我们帮助的人。这里要特别感谢 K. Ravikanth 和 PVRMurthy,他们颇具见地的讨论让本书的质量更上一层楼。Girish 和 Tushar 要感谢印度西门子研究和技术中心的 Leny Thangiah、Rohit Karanth、Mukul Saxena 和 Ramesh Vishwanathan,以及印度西门子技术和服务有限公司的 Raghu Nambiar 和 Gerd Hoefner,感谢他们始终如一的支持和鼓励。Ganesh 要感谢印度 ZineMind 技术有限公司的 Ajith Narayan 和 Hari Krishnan 的支持。

多少个周末和假日,我们都在为编写本书而奋战,没能陪孩子玩耍或外出购物。感谢家人在本书漫长的编写过程中始终如一的关爱、耐心和支持。

目录