Decorator pattern
Intent: Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.
While reading the GangOfFour book on CD I noticed that the original name of this pattern was "Wrapper". -- DaveMitchell
See also: CompositePattern, ProxyPattern, DesignPatterns
This pattern was also called shadowing in LPC.
http://home.earthlink.net/~huston2/dp/decorator.html
http://wiki.cs.uiuc.edu/PatternStories/DecoratorPattern
http://patternsinperl.com/designpatterns/decorator/ - Perl implementation
This pattern can also be used as a way to refactor a complex class into smaller pieces. Even if you don't need to attach responsibilities dynamically it can be clearer to have each responsibility in a different class. -- ChristianTaubman
CategoryPattern | CategoryStructuralPatterns