Design patterns capture "good practice" in object-oriented programming, but even with this experience available, applying design patterns still requires the insight of a mature programmer. Tools which assist with the application of design patterns could have significant value since they should allow experimentation, and make design pattern technology more accessible to programmers with all levels of expertise. This paper contains a description of an ADV-based representation for design patterns which can be used as the basis for a tool to apply patterns, and generate most of the code for an implementation of a specific design. 1 Introduction Design patterns [GHJV95] can be viewed as an approach to encapsulating "good practice...