The Extension Objects Pattern Erich Gamma IFA Consulting Ceresstrasse 27 CH-8034 Zurich gamma@ifa.ch The Extension Objects pattern describes a way to extend a class with additional interfaces and behaviour. It encapsulates an extension into a separate object and provides a mechanism to negotiate for a particular extension. The Extension Objects pattern can be applied when you need to support the addition of new or unforeseen interfaces to existing classes.