info

Navigation

Recent site activity

Publications‎ > ‎Patterns‎ > ‎ICSE96‎ > ‎

node4


next up previous
Next: Industrial experience with patterns Up: Introduction Previous: A brief history of Design Patterns

The patterns community

The success of the PLoP conference in August '94 and the unveiling of the so-called ``Gang-of-Four'' [18] book at October '94 OOPSLA created a surge of interest in the topic of design patterns. Due to their basically simple nature, patterns are subject to ``overhype'', particularly by those who do not fully understand what the real capabilities are or how hard it is to write good patterns. Several mailing lists have been set up by Ralph Johnson at the University of Illinois and this has led to the development of an internet-based community of software developers interested in patterns. A World-Wide-Web sitegif is also maintained at the University of Illinois which serves as a central location for information on patterns. Most of the active members of this online patterns community are practically-oriented experienced software developers and, as such, they are quick to correct any overly-high expectations placed on patterns by newcomers.

The practical nature of patterns themselves and the people writing and using patterns should not be underestimated. As Ralph Johnson once wrote [20]: ``One of the distinguishing characteristics of computer people is the tendency to go ``meta'' at the slightest provocation. Instead of writing programs, we want to invent programming languages. Instead of inventing programming languages, we want to create systems for specifying programming languages. There are many good reasons for this tendency, since a good theory makes it a lot easier to solve particular instances of the problem. But if you try to build a theory without having enough experience in the problem, you are unlikely to find a good solution. Moreover, much of the information in a design is not derived from first principles, but obtained by experience.''

Presumably due to the nature of patterns being used to record and reuse existing design knowledge, the patterns community has been said to have an ``aggressive disregard for originality'' [15]. As a concrete example of this, all design patterns in [18] are based on designs which occur in two or more existing, real applications. Perhaps because no one feels like they ``own'' a particular design, there is a distinct feeling that the members of the patterns community are working towards a common goal in developing a broad collection of patterns as opposed to the competitive nature common to other disciplines (e.g. which person publishes a certain theorem first).

Since the patterns community is one that shares information in an open forum and builds on the experiences of others, it seemed natural to us to submit a joint paper on our experiences with patterns. We focus, in particular, on the lessons learned in our respective industrial settings as a first step towards answering the questions ``Patterns sound very promising, but how are they actually used in the industry and what benefits, if any, do they bring in practice?''


next up previous
Next: Industrial experience with patterns Up: Introduction Previous: A brief history of Design Patterns

11265-Jim Coplien
Tue Aug 20 17:08:07 CDT 1996