I wrote this book for numerous reasons. Probably the first motivation had to do with Extreme Programming. I was a bit surprised when Kent Beck did not include patterns in XP. I struggled with that for a while. I wrote about it in a paper called Patterns & XP for the first XP conference in Sardinia, Italy, 2000. That paper got me started on wanting to write a book to re-position patterns within the new agile world.
Another motivation for writing the book had to do with the patterns workshop that my company, Industrial Logic, teaches. I found again and again that I needed real-world examples to use in teaching people how to be really good with patterns. So I began creating a catalog of such examples.
As I continued to write and get reviews from some very smart programmers, I began to learn that my approach to refactoring wasn't even that good. I would do too much work manually and not rely on small, safe refactorings. So as time went on (I worked on book for about 4 years) I learned to be better at refactoring, to refactor to, towards or away from patterns in really small, safe, and often automated steps. The IDEs, such as Eclipse, have been really helpful in this area -- I can practically refactor to the certain patterns by exclusively relying on automated refactorings in my IDE.
Finally, a motivation for writing the book was to show what it really means to do Evolutionary Design, which is at the core of XP. Rather than using Design Patterns for upfront design (which I once did, when I was a bit naive), I have learned to evolve patterns into systems when they really help. So I wanted to share that knowledge with the world.
Author of <a href="http://www.amazon.com/exec/obidos/ASIN/0321213351/ref=jranch-20" target="_blank" rel="nofollow">Refactoring to Patterns</a>
I've deleted more than a dozen off-topic messages from this thread. Let me remind the participants of the rules for book promotions: only posts which actually discuss the book or topic qualify to win a book. Discussions of Thai libraries, plane trips, or, especially, who won what when, do not qualify.
Furthermore, note that there are at least two other reasons not to post these off-topic messages in book-related threads. First, it wastes the staff's time. It takes time to clean up this kind of nonsense, of course, but it takes even more time to pick the four winning posts for a promotion. The first step in doing this is to select all the qualifying posts. If 75% of the traffic in a long thread like this is just bubbleheaded yammering, then obviously you've made Dirk's job a heck of a lot harder, for no good reason.
Secondly, how do you suppose an author feels if he or she comes here to discuss their latest book, and instead they have to listen to this kind of claptrap? Do you think they'll want to come back? It's an incredible opportunity for us here at the Ranch to have these accomplished and notable people stop by and spend some time; please don't squander it this way.
Originally posted by Ernest Friedman-Hill: Secondly, how do you suppose an author feels if he or she comes here to discuss their latest book, and instead they have to listen to this kind of claptrap? Do you think they'll want to come back?
I do agree with this... We do need to have meaningful conversations with authors so that they will also come by the Ranch, whenever they have spare times.
But sometimes, posts are unpredictable. If someone started a off-topic post in book-related thread, then that off-topic used to be continue, if there is no one warn about that... I have been trying to avoid such off-topic posts so that my posts are eligible for the lucky draw... But I always got into that off-topic posts intentionally...
So thanks a lot, Dr.Ernest, for the deletion inappropriate posts in this book-related thread...
Co-author of SCMAD Exam Guide, Author of JMADPlus SCJP1.2, CCNA, SCWCD1.4, SCBCD1.3, SCMAD1.0, SCJA1.0, SCJP6.0