Hitchhiker's Guide to Software Architecture and Everything Else - by Michael Stal

Tuesday, March 21, 2006

Why Patterns have failed

Publishers and conference managers are interested to sell huge numbers of books and conference tickets. Software patterns are still a perfect means for attracting people. Thus, no one is interested to shed some light on the truth. Hence, I guess, most of you did not even suspect that Software Patterns have turned out to be a complete failure. Don't let these people fool you.

Here I have listed some clues and reasons for you:
  • Patterns as Brian Foote ones said are an "aggressive disregard of originality". They are discovered and not invented. As a consequence, there is not much space for innovative research in this area. Want to cover patterns in your Master thesis or Ph.D? It becomes obvious that researchers should forget about patterns.
  • Your boss told you to document your domain expertise using patterns? Good luck! Why do you think you were told to document your knowledge explicitely? Is it because your boss wants to enjoy your impressing capabilites? No, some people from foreign countries are supposed to take your position very soon. When your pattern documentation is completed, you will lose your job.
  • Do you know that IPR issues are essential for today's businesses? Guess, where someone will look to get information about your innovations. The architecture document and the code are potential places! If one of these is easily readable, it will also be easy to steal your ideas. Better encrypt your architecture by using unsymmetric and complex design instead of easing the life of industry spies with patterns.
  • Whenever you are encountering a new domain, you will make the experience of cultural shock. Domain experts tend to use some cryptic domain languages. There are two reasons for this: (1) no expert is interested to be understood by the rest of the world and (2) When domain experts speak with each other they need abstraction in order not to be confronted with reality. Patterns are the cryptic entities of the software engineering domain.
  • You will definitely know that patterns are considered blue prints and not implementations. They give you infinite numbers of implementation options and variants. In other word, patterns hide a high degree of uncertainty behind a deterministic facade. Thus, implementing patterns might make your life a complete nightmare.
  • What do you think about Karl Marx and George Orwell? Equality is an important issue in each society but striving for total equality might be completely counterproductive. Using the same patterns everywhere is like striving for total equality. Draw your own conclusions!
  • Did you ever wonder why the authors of the seminal book on design patterns were coined "Gang of Four"? This term does not reveal positive associations from a historical perspective. Do you really think, they called it this way incidentally?

There are even more arguments available. Maybe, someone else could make some suggestions and come up with additional disclosures. I hope, you now can see the whole story. There is some confederacy going on in the background. Everything is backed by a secret society called the Hillside Group. The conspirers meet in what they call xxxPLoP conferences. Their ultimate goal is world domination. Be cautious and trust nobody!


  • I agree, but... Are years that nobody think about a wheels with triangular shape. I don't know what's the reason why, but today the "round-wheel" pattern it's the most used in designing veicles. :-)

    By Anonymous Anonymous, at 9:07 AM  

  • http://geekswithblogs.net/gyoung/archive/2006/03/23/73111.aspx

    The conspiracy goes deeper than you think ... according to http://www.abovetopsecret.com/pages/acc.html

    'I developed something called the "pattern creator". That's where we got the term "PC".'

    This goes back much deeper than you fear!

    By Anonymous Greg, at 10:21 AM  

Post a Comment

<< Home