The Composite pattern is intended to allow you to compose tree structures to represent whole-part hierarchies so that clients can treat individual objects and compositions of objects uniformly. When I hear "composite pattern", immediately XML pops up in my mind. A composite is an element and a leaf is an attribute. <composite> <composite leaf="value"> Important [...]