Patterns Are Dead

Patterns made a big noise around the time of the GangOfFour book. Over the next couple of years, more books (not as good, but still good) appeared. But what of the last couple of years?

There doesn't seem to be that much discussion and exploration of patterns. There are mailing lists, but material isn't really heading out to the general software world. New books have appeared, but nothing that really grabs your attention in the way that the earlier books did. The "patterns community" is still small, and still cliquey.

So we have a few worthy books, but no general uptake of patterns. The notion of gathering and refining patterns seems to have stalled in mid-air.

Do you agree? If so, why do you think this has happened? If you disagree, where are the signs of life?

I can see some of this, though I don't think it's a general trend. Here are some possible reasons:

Still, all in all, I don't think any of these are showstoppers. I still find patterns very useful for explaining and teaching design and idiom. Less so for architecture, but I think that's because it's much harder to mine architectural patterns. People still think in categories there - WorkFlow and DataWarehouse and so on. PoSa, despite its name, didn't do much of a job on architecture - maybe that's where an ambitious pattern miner could make her mark.

Contributors: PeterMerel

Aargh. A few weeks ago, I read in a "major trade publication" that "client server is dead - everything is going to be web-based". Never mind that web applications are client server themselves. The pundit was declaring a buzzword passe'. Maybe it's not chic to dig into patterns anymore - it doesn't matter to me, because they're in my toolchest and will be used as necessary. -- RobCrawford

There is a difference here. Saying "x is dead - everything is going to be y" implies that x is inferior to y. OTOH, saying just "x is dead" can either mean "x is dead", or, "x is no longer a buzzword, but an accepted practice" which is where I see patterns. PatternsAreAccepted, not dead.

And yes, nothing can ever match the wow of the GangOfFour, but are not the most defining parts of a new domain discovered first? The first to arrive cook the juiciest steaks. -- RodneyRyan?

There are plenty of folks still working on patterns. But not all of them are necessarily trying to rush their stuff into production to take advantage of any marketing or buzzword status of the patterns hype:

So I honestly don't see that patterns are dead at all (though I certainly hope the hype is)! But places like the patterns mailing lists are less busy than usual because pattern writers have been busy with other things (and the lists always get more quiet during the winter IMHO). Let not make the mistake of presuming that "quiet" means "dead."

My reaction when I saw this page was to think of the old line:

"Calvin Coolidge is dead." "How can they tell?"

Seriously, though, does it really mean anything for patterns to be alive or dead, except as a buzzword? I was using patterns for years before anybody told me that that what what I was doing, and I expect I'll keep on using them for years after we stop hearing the word.

Yes. When patterns (or anything) cease to be a buzzword more power is gained by a reduction in unrealistic expectations and skepticism, and an increase in acceptance, study and realistic application. In your response:

I was using patterns for years before anybody told me that that what what I was doing

you have lent patterns much credibility by recognizing them as a new encapsulation of old ideas, removing the buzzword curse of "new new new !". Patterns are now recognized not as a new, unproven way, but as a new form used to represent old, tried and true ways.

Some confusion remains as to the use of the pattern form: some people use it as a notation for new design ideas, for which it is admirably suited, but this muddies the water considerably.

The truly great thing about patterns is that you know they will work, because they always did before.

I don't get this last comment. How do I know they worked before? Because someone wrote up something they saw and called it a pattern? I see all kinds of things written up and called patterns, and I am skeptical that they work more than in a rare case. Calling it a pattern doesn't ensure it works.

Of course not. The point of the previous comment is that a lot of things that indeed are not patterns are getting written up in that form, which is ok, I guess, but confusing. Wait a, actually, it's not OK.

Don't the "Known Uses" (note the plural) of PatternForms document the necessary pre-conditions for something to be a pattern? [Recurrence is one requirement, there are others. A pattern should be UsefulUsableUsed.]

Alexander seems fairly clear that you find patterns vs inventing them.

He also seems to suggest that there aren't very many of them.

People building for themselves, to make themselves comfortable, have done such-and-so things, always and everywhere. They do these things in new buildings because they saw them done in older ones and thought that they liked it.

New techniques and materials will have their own patterns that will emerge over time as people find the most comfortable ways to use them.

If you can't produce many examples of an idea having already worked then how can you claim it as a pattern?

I see all kinds of things written up and called patterns, and I am skeptical that they work more than in a rare case (See PatternEnvy)

You are right to be skeptical. The author of a claimed pattern may set your mind at rest trivially, however, by supplying the list of known uses.

A suggestion: the next time someone, a colleague, a conference speaker, the author of a book, claims to present a never-before-seen pattern, ask to see the list of known uses. A further suggestion: exactly one use in a doctoral thesis does not count; exactly one use in a/your current project does not count.

Let me be clear, I'm not criticizing researchers, nor suggesting that new design ideas have no value, but please, lets all be clear what we are talking about. By all means use the pattern form to describe a new idea, but call it something else. Make the distinction plain.

(The following points are actually addressed to writers of patterns, not readers of patterns)

Calling it a pattern doesn't ensure it works.

So, demonstrate that it works before calling it a pattern. Demonstrate this by exhibiting the examples of it working from which the pattern was derived. (See UsefulUsableUsed.)

But, have a care: a claimed pattern with zero or one examples may or may not be any good, if indeed it turns out to be a pattern. Unfortunately, no number of examples, in and of themselves, will make an actual pattern good. However, all good patterns have many examples.

We've only touched the tip of the iceberg with respect to patterns. -- JoshuaKerievsky

Should this be merged with PatternBacklash?

Most of this page is old. The list of pattern projects is especially old, with most of those projects resulting in books (some good, some bad) a few years ago. Two great pattern books in 2003 are PatternsOfEnterpriseApplicationArchitecture and DomainDrivenDesign. There is a lot of good work going on, it must not be happening where you are looking for it.

View edit of September 1, 2004 or FindPage with title or text search