5. Which design patterns that you learned from the book do you rely on most heavily today?
The diversity of responses to this question illustrates the wide range of design patterns that professionals use. In all, respondents cited 19 different patterns among their favorites. The most frequently mentioned were Singleton, Factory, Observer, and Command, respectively.
To caution against an overdependence on any particular pattern—the only respondent to do so—McMullen admitted he would've liked to answer "none" to this question. He reasons that "there might be a particular pattern or two used frequently that constitutes someone's own personal design style (for me, it's the singleton; man, I love that thing), but a consistent *over-reliance* on just a couple of patterns really means you've got a weak design vocabulary. Someone who uses nothing but the Singleton pattern is a little like someone who's conversational vocabulary consists exclusively of 'dude' and 'awesome'— there's a limited number of concepts he can articulate with any precision."
6. If you could assign the GoF's next book, which topic would you have them tackle?
Most responses point to a need for the GoF to get a hold of the many variants that their original pattern set spawned:
Riehle suggests "The Return of GoF" to present the next set of GoF patterns, stating that the original "missed a set of equally important patterns."
"Patterns Revisited" or a best practices volume, said Patryshev. "There are too many pseudo-patterns around. I'd like these people to tell the world that there is no such thing as an 'EJB Pattern.'"
Kalev is holding out for a tutorial on how some of the classic patterns can be generated automatically from simple, generic templates, as well as a set of completely new patterns that rely on meta-programming principles.
Ploix doesn't think new patterns warrant another book, but writes that a how-to about including a pattern in an existing application would be great.
Cataloging and naming other abstractions, such as idioms or AOP—McMullen
Nothing. "It's always downhill after the first big hit."—Goetz
7. Give us a more fitting name than Gang of Four.
Depending on your point of view, "Gang of Four" sounds like either a political cabal or the title of a Clint Eastwood spaghetti western. Yet most just dismissed the question, stating that now that the GoF is known as such, they can't imagine them with another name. However, a few passed on some clever alternatives. Click here for the Top 10 List.
Contrary to Popular Opinion
Not all the responses applauded the GoF's work:
"What's all this Design Patterns stuff? Everybody keeps talking about 'design patterns.' Make the pain go away!"—Joel Spolsky.
"I think the whole design patterns phenomenon is just another thing for academic geeks to make themselves feel smarter," said David Talbot, vice president of development for Data Systems International. When we asked David to tell us more, he obliged with "To Software Architects: Serve End Users, Not Your Egos."
"I find OOP almost completely useless. I don't program with a group, so OOP's primary utility (which is fundamentally clerical) has no real value. [It] just introduces an entire new set of bugs and complexities to procedure-oriented design," wrote Richard Mansfield, author of more than 30 computer books during the past two decades, including bestsellers about machine language, who declined to complete the questionnaire. You can read Mansfield's unusual opinions of OOP in this week's guest commentary, "OOP Is Much Better in Theory Than in Practice."
You can debate how important design patterns have been to modern software development, but you can't argue with numbers. A perennial bestseller with more than 400,000 copies in print has an impact. The work the GoF produced more than a decade ago still influences and impacts how architects and developers work today. So why not break out the balloons and streamers? The Gang's earned it.