5 Composite

A COMPOSITE IS A group of objects in which some objects may contain others, so that some objects represent groups and others represent individual items, or leaves. When you model a composite, two powerful concepts emerge. One important idea is to design groups so that they can contain either individual items or other groups. (A common error is to define groups so that they can contain only leaves.) A second powerful concept is to define behaviors common to both individual objects and compositions. You can bring these ideas together by defining a common type for groups and items and modeling groups as containing a collection of objects of this type.

The intent of the COMPOSITE pattern is to let clients treat individual objects and ...

Get Design Patterns in Java™, Second Edition now with the O’Reilly learning platform.

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