Sunday, October 22, 2006

OOPSLA 2006: Day -3, Saturday, October 21

Today was spent at a "Patterns Boot Camp," meant to give us a thorough introduction to design patterns and, more importantly, the "Patterns Community".

The focus on the day was not on a specific pattern or set of patterns. Rather, it was on what makes up a pattern, why patterns are so darn useful, and what sorts of characteristics are used to distinguish between good and bad patterns.

I was surprised to find that there are people out there who are willing to act as "pattern shepherds", working with pattern authors to help patterns become clearer and more effective.

My two main new insights from the boot camp:
  1. Patterns are really supposed to be documentation of proven solutions. One of the guidelines they gave us was to not use patterns to document our own ideas. A "real" pattern is one which has been shown to work effectively in the real world. Patterns are not about originality or uniqueness. Rather, they are about capturing what experts know to be true in a way that can be communicated to others.
  2. Patterns can be written for just about any domain. Patterns were developed originally by Christopher Alexander (an architect) and enthusiastically taken up by software developers. But there is nothing to say you could not write patterns for many other areas of human endeavor. (What might be some patterns for growing in the spiritual life, or raising a healthy and happy family?)

No comments: