'

Programming with patterns

Peter Forbrig and Ralf Lammel, Universitat Rostock, Germany

The object-oriented programming paradigm is completed by language support for programming with patterns. This completion allows for the much more direct and tracable implementation of designs making use of design patterns. The essentially language features are nested class structures and a sensible kind of superposition to compose class structures. These language constructs have been implemented in one particular way in the language \PaL\ based on a compilation model to Eiffel. A library of reusable patterns has been developed in \PaL. It provides certain auxiliary patterns, the 23 GoF patterns, and some important combinations. Designs can be implemented by instantiating and composing library patterns. A mixin-like kind of abstraction is useful in this context. Programming with patterns is illustrated with a case study for a non-trivial drawing application.'