Skip to Main Content
An unusual experience report on mining and documenting patterns reveals the value of higher-level abstraction and of lower-level implementation in a different domain. We are all, pattern authors or not, limited by our own experience. We tend to see the solutions we've applied as the most useful and, therefore, the ones we want to document and share as patterns. Rarely do we take the time to look around, either at a higher level of abstraction or a related domain. We just don't have the time. Pattern writing consumes a lot of energy and, for those in the patterns community, the work involves shepherding (reviewing) conference papers and attending conference workshops. To write the most effective pattern languages, we must be flexible and open enough to exploit the power of abstraction when it's appropriate and to learn from any domain's implementation details, even if the connection seems remote. At the same time, we must be wise enough to see that not every discovery will lead to a pattern worth adding to our collection. Seeing each new idea clearly and examining it from all sides to identify its useful application will help us learn more about the problems we face. Maybe this is what learning is all about, and maybe this is how we keep building.