One of the challenges of writing a book is that it's hard to effectively acknowledge the many people who have helped you. You know you're forgetting names , and you know that the book could be even better if only you could take all of their advice.
Many people offered advice on various drafts of or exercises in this book, including Philippe Antras, Ron Crocker, Sven Gorts, Harris Kirk, Tom Kubit, Paul Michali (who provided one of the examples), Edmund Schweppe, Steve Wake, Robert Wenner, and others I know I've omitted. Sven Gorts and Tom Kubit get special mention, as they both gave me particularly extensive feedback and advice. Ann Anderson, Ken Auer, and Don Wells reviewed the manuscript for the publisher.
My programmer friends at Gene Codes Corporation (working for Howard Cash) worried that anything they did would become fodder for another example. (Their code isn't in here, but they all helped me think about what I was trying to communicate, and each gave me advice on at least some examples.) Thanks to Lucy Hadden, Jonathan Hoyle, Anna Khizhnyak, Tom Kubit, Greg Poth, and Dave Relyea.
This book owes obvious debt to the prior work of Martin Fowler and Kent Beck. Their encouragement has been as important. The format of the book is inspired by Steve Metsker's Design Patterns Java Workbook ; discussions with him have been very helpful.
At Addison-Wesley/Prentice Hall, I need to thank Mike Hendrickson, Ross Venables, Anne Garcia, Michelle Vincenti, and especially my editor, Paul Petralia. Don MacLaren and Ruth Frick of BooksCraft improved the text considerably. There are many others who put a lot of work into turning the manuscript into a book; I don't know their names, but I appreciate what they do.
Pearson allowed me to use information from other books:
Finally, no acknowledgment would be complete without thanking my family. They don't just tolerate my writing, but give me encouragement, support, and love. Who could ask for more?