Chapter 11. The Composite Pattern

Programmers often develop systems in which a component may be an individual object or may represent a collection of objects. The Composite pattern is designed to accommodate both cases. You can use it to build part-whole hierarchies or to construct data representations of trees. In summary, a composite is a collection of objects, any one of which may be either a composite or a primitive object. In tree nomenclature, some objects may be nodes with additional branches, and some may be leaves.

A problem that develops is the dichotomy between having a single, simple interface to access all of the objects in a composite and the ability to distinguish between nodes and leaves. Nodes have children and can have children ...

Get Java™ Design Patterns: A Tutorial now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.