- Compose objects into tree structures to represent part-whole relationships
- Allows for uniform treatment of single objects and a composition of objects
- Ex: Filesystem ops for folders and file
Issues
- Explicit parent references
- Sharing components
- Maximizing the component interface
- Declaring the child management operations
The child management ops either has to be implemented in the composite class or the component class. It’s a trade off between transparency (more transparent in the component class) and safety (safer in composite class)