| layout | pattern | ||
|---|---|---|---|
| title | Composite | ||
| folder | composite | ||
| permalink | /patterns/composite/ | ||
| categories | Structural | ||
| tags |
|
Intent: Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.
Applicability: Use the Composite pattern when
- you want to represent part-whole hierarchies of objects
- you want clients to be able to ignore the difference between compositions of objects and individual objects. Clients will treat all objects in the composite structure uniformly
Real world examples:
- java.awt.Container and java.awt.Component
- Apache Wicket component tree, see Component and MarkupContainer
Credits
