Pattern Refactoring

Monday, 16 October 2000
Convention Center 207A

First organizer: Brian Foote, The Refactory, Inc.
Second organizer: James Noble, Victoria University of Wellington
Third organizer: James Coplien, Lucent Technologies
Fourth organizer: Richard Gabriel, Sun Microsystems
Fifth organizer: Charles Weir, CWC Limited

Organizers' Backgrounds:
Brian Foote has been an active participant in the OO community since 1985, and in the patterns community since 1993. He was chair of the PLoP '96 conference, and an editor of the recent Pattern Languages of Program Design 4 book. He has attended every OOPSLA since 1986, and has been an OOPSLA workshop participant at all but three of them. He has organized six OOPSLA workshops.

Dr. James Noble has recently returned home to lecture at the Victoria University of Wellington, New Zealand. While in Sydney, he established the Sydney Patterns Group, the first patterns group in the Southern Hemisphere, and he has extensive experience lecturing, teaching, and mentoring with software design, user interface design, and design patterns.

James organized a series of workships on prototype-based programming during the late '90s.

Biographies of the other organizers will be found on the workshop web page.

Charles Weir has more than fifteen years' experience with software development and OO techniques. Charles was technical lead for two major EPOC 'smart mobile phone' projects, and software architect for the Psion Series 5 Web Browser. Charles has taught many courses on OO design and implementation, and has led many active-learning sessions at the UK Object Technology series of conferences and elsewhere.

Themes and Goals:
OOPSLA 2000 Workshop on Pattern Refactoring

Though Chrisopher Alexander's notion of patterns has been part of the object-oriented community since 1987, it didn't really come to the fore until 1994, with the publication of the landmark "Design Patterns" volume by Vlissides, Johnson, Helm, and Gamma. The so-called "Gang-of-Four" (GoF) book described twenty-three design-level object-oriented patterns. It launched the modern patterns movement in computer science, and spawned the patterns community. One of the striking things about patterns was that they were distilled from experience and prior art, rather than culled from original research. Since the GoF book was published, hundreds of additional patterns have been added to the pattern canon, but for many, the focus has remained on design-level patterns.

One admirable characteristic of the patterns community has been a self-imposed moratorium on "going-meta". That is to say, there has been an emphasis on writing patterns, rather than commentaries on patterns, pattern theory, or discussions of the merits of existing patterns. However, somewhat ironically, given the pattern community's aggressive disregard for conventional notions of research originality, patterns authors have nonetheless demonstrated a certain deference to precedent in the patterns world.

The premise of this workshop is that it is time to relax the pattern community's self-imposed moratorium on commentary and revisionism. When the GoF book came out, the authors conceded that goal was descriptive rather than taxonomic, and that they consciously avoided the temptation to cast their patterns hierarchically, deferring such efforts instead until later.

Indeed, at their show trial at OOPSLA '99, there are those who went so far as to claim, only partially in jest, that the Gang of Four has foreclosed any possible progress on a more refined treatment of this space for another two hundred years.

THEREFORE, we are soliciting position papers that address the following issues:

  • New pattern classification schemes and taxonomies
  • Ways of weaving existing patterns into full pattern languages
  • Alternative, even revisionist, presentations of design notions covered by existing patterns
  • Presentations of existing patterns as combinations or refactorings of other patterns
  • Papers that address the relationships among patterns, idioms, frameworks, and programming languages and language features
  • Attempts to better place design level patterns in the context of the broader pantheon of patterns


  • Brian Foote
  • James Noble
  • Charles Weir
  • Richard P. Gabriel
  • Jim Coplien


  • Dwight Deugo
  • Mike Beedle
  • Markus Voelter
  • Toby Sarver
  • Joshua Kerievsky
  • Rebecca Wirfs-Brock
  • Joseph W. Yoder